php-include funktioniert nicht?

Hi Leute

Ich habe ebenfalls ein Problem mit include.

Hier mal die Seite: http://www.peefine.ch/page.php

Und hier der Code:

PHP:
<div class="overview-table-inner">
                <h4>Umfrage</h4>
                  <?php include("/phppoll/poll.php");
                   ?>                                                                                                          
         </div>

Auf der Seite sieht man oben rechts die Überschrift "Umfrage", aber die php Datei wird nicht ausgegeben.

Auf dem Server befindet sich im Stammverzeichnis der Ordner "phppoll" und in diesem die Datei "poll.php". Die Datei selbst funktioniert wenn ich den direkten Link, http://www.peefine.ch/phppoll/poll.php eingebe.

Somit ist auch ausgeschlossen dass es aum Server liegt.

Ich hoffe jemand kann mit weiterhelfen.
Danke
 
Moin,

@sniffles:
Das Problem bei dir liegt in dem "/" vor dem Ordnernamen begraben. Wenn du das dort setzt, wird davor ein Ordnername erwartet. Da davor jedoch nichts steht, funktioniert das auch nicht.

Es müsste also so aussehen:

PHP:
<?php
include_once('phppoll/poll.php');
?>
 
Hi Alex

Vielen Dank für deine Hilfe.
Es hat wunderbar geklappt.

Nun habe ich ein weiteres Problem.
Ich möchte gerne 4 Umfragen auf meiner Seite anbieten, also es sind alles verschiedene php Dateien.

Diese wollte ich ein eine Tabelle mit 4 Spalten einsetzten.
Ich habe die einzelen php dateien getestet und sie funktionieren auch, aber wenn ich eine Tabelle erstelle, zeigt es mir immer nur die erste Umfrage an.

Hier mal der Code:
PHP:
                                            <div class="art-postcontent">
                                            <table>
                                            <tr>
                                            <td>
                                             <?php include("phppoll_1/poll_1.php");
                                             ?>
                                            </td>
                                            <td>
                                             <?php include("phppoll_2/poll_2.php");
                                             ?>
                                            </td>
                                            <td>
                                             <?php include("phppoll_3/poll_3.php");
                                             ?>
                                             </td>
                                             <td>
                                             <?php include("phppoll_4/poll_4.php");
                                             ?>
                                             </td>
                                             </tr>
                                             </table>                                                    

                                            </div>

Wie gesagt, die php dateien funktionieren einzeln und der Pfad ist auch richtig, habs mehrmals getestet.

Ich habe noch eine Datei erstellt wo ich nur die Tabelle mit den php files per include eingefügt habeu nd das selbe Resultat. Es wird immer nur die erste php datei in der ersten Zelle ausgegeben. Der rest nicht.

Danke für die Hilfe
Sniffles
 
Zuletzt bearbeitet:
Grüße,

@sniffles:
ich hab das hier mal aus deinem Quelltext der Seite extrahiert:

Code:
<td>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
	<link rel="stylesheet" type="text/css" href="../phppoll_1/poll_1.css">
</head>
<body>

<table border=0 cellspacing=0 cellpadding=0 width=160>
<tr><td>
<div>

<div class="poll_text">Welches sind Ihre wichtigsten Prinzipien?</div>
<form style="margin:0px;" action="/page.php?paction=vote" method="POST">
<div class="poll_votelist"><div class="poll_voteitem"><input type="radio" name="pvote" value="1">Hygiene</div>
<div class="poll_voteitem"><input type="radio" name="pvote" value="2">Angst</div>
<div class="poll_voteitem"><input type="radio" name="pvote" value="3">Sauberkeit</div>
<div class="poll_voteitem"><input type="radio" name="pvote" value="4">Schmutz</div>
<div class="poll_voteitem"><input type="radio" name="pvote" value="5">Dreck</div>

</div>
<div style="text-align:center;"><input type="submit" name="submit" value="Abstimmen"></div>
</form>
<div style="text-align:center; margin-top:5px;"><a href="/page.php?paction=result">Ergebnisse anzeigen</a></div>

</div>
</td></tr></table>

</body>
</html>
                                            </td>

so wie das aussieht, hast du kurzerhand einfach nochmal ein paar <html>-,<head>-,<body>-Tags gesetzt, was so natürlich nicht geht ;).

Zum Hintergrund:
PHP bindet die Datei so ein, wie sie vorliegt und die wird auch so geparsed.
Dass heißt, der Code der in der einzubindenden Datei steht, wird ohne Rücksicht einfach so in den bestehenden eingefügt (dort wo include aufgerufen wird).

Du kannst also in der Datei, welche inkludiert werden soll, nicht nochmal ein HTML-Grundgerüst einbauen, da sich sonst letztendlich zwei öffnende html-tags in deinem Code befinden und das ganze nicht mehr interpretiert werden kann.

Die einzubindende Datei müsste folglich so aussehen:
Code:
<table border=0 cellspacing=0 cellpadding=0 width=160>
<tr><td>
<div>

<div class="poll_text">Welches sind Ihre wichtigsten Prinzipien?</div>
<form style="margin:0px;" action="/page.php?paction=vote" method="POST">
<div class="poll_votelist"><div class="poll_voteitem"><input type="radio" name="pvote" value="1">Hygiene</div>
<div class="poll_voteitem"><input type="radio" name="pvote" value="2">Angst</div>
<div class="poll_voteitem"><input type="radio" name="pvote" value="3">Sauberkeit</div>
<div class="poll_voteitem"><input type="radio" name="pvote" value="4">Schmutz</div>
<div class="poll_voteitem"><input type="radio" name="pvote" value="5">Dreck</div>

</div>
<div style="text-align:center;"><input type="submit" name="submit" value="Abstimmen"></div>
</form>
<div style="text-align:center; margin-top:5px;"><a href="/page.php?paction=result">Ergebnisse anzeigen</a></div>

</div>
</td></tr></table>
 
Hi Alex

Danke für deine Antwort.
Muss ich in dem Fall die html, head und body tags in den vier verschiedenen php Dateien (phppoll_1.php, phppoll_2.php, phppoll_3.php und phppoll_4.php) löschen?

Ich sende dir im Anhang mal eine der php dateien, damit du sie dir anschauen kannst.

Danke dir!
Sniffles
 

Anhänge

Zuletzt bearbeitet:
Hi Alex

Ich habe soeben die html tags aus den php dateien gelösch und der Quelltext sieht jetzt so aus wie du es oben gezeigt hast.
Das Problem liegt jedoch noch immer vor.
Kann es sein dass in folgendem Code
PHP:
      <div class="art-postcontent">
                                            <table>
                                            <tr>
                                            <td>
                                             <?php include("phppoll_1/poll_1.php");
                                             ?>
                                            </td>
                                            <td>
                                             <?php include("phppoll_2/poll_2.php");
                                             ?>
                                            </td>
                                            <td>
                                             <?php include("phppoll_3/poll_3.php");
                                             ?>
                                             </td>
                                             <td>
                                             <?php include("phppoll_4/poll_4.php");
                                             ?>
                                             </td>
                                             </tr>
                                             </table>                                                    

                                            </div>
etwas zu tun hat? Habe ich irgend eine Regel nicht beachtet?

Gruss
Sniffles
 
Ja die musst du in allen verschiedenen Dateien löschen (phpoll_1.php, phppoll_2.php, phppoll_3.php, phpoll_4.php), da du sie ja auch alle einbindest.
 
Habe ich gemacht, doch es funkzioniert leider immer noch nicht.
Also die Daateien fangen jetzt mit <?php an und es folgt gleich der Code für das Poll; kein HTML mehr drin.

Das Problem scheint irgendwo anders zu liegen :-(
 
Wenn du alles entfernt hast, was überflüssig ist (siehe vorherige posts), dann müsste das Ganze reibungslos funktionieren. Ansonsten würde ich sagen, dass der Fehler momentan in der 2. Datei liegt, da diese nicht mehr ausgeführt wird.
 
Ich habe übrigens gerade folgende Zeile in der 2. Datei gefunden:

Code:
<table border=0 cellspacing=0 cellpadding=0 width=160>

...die Zahlen sollten in '' oder in "" gefasst werden. Wobei sich bei der Arbeit mit PHP die einfachen Anführungszeichen anbieten um unnötiges escapen zu umgehen.
 
Zurück