ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
306
306
EMPFEHLEN
-
Hallo Leute,
ich habe ein kleines Gästebuch Script geschrieben das nach 15 Einträgen eine neue Seite anlegen soll.
Wenn ich die Datei direkt öffne, also über den direkten Link /script/guestbook/guestbook.php
dann macht er auch alles so wie er es soll und wenn man dann auf Seite 2 klickt dann macht er halt /guestbook.php?seite=2 draus.
Jetzt habe ich das ganze versucht in meine Homepage einzubinden.
Der Link zum Gästebuch ist in einer externen navigation.php definiert
die navigation.php ist wiederum mit include in die index.php eingebunden.PHP-Code:$links['guestbook'] = array(
'title' => 'Gästebuch',
'link' => '/script/guestbook/guestbook.php');
Sobald ich jetzt aber aber der guestbook.php den Link zu Seite 2 anklicke bleibt der content allerdings leer.
Wie gesagt wenn ich die Seite direkt aufrufe ohne GET dann funktioniert auch die Blätterfunktion.
Jetzt habe ich einfach mal testweise noch folgendes in die navigation.php eingetragen
damit wollte ich halt erreichen das wenn ich jetzt ?page=seite2 aufrufe er auch die seite 2 lädt.PHP-Code:$check['seite2'] = array(
'link' => '/script/guestbook/guestbook.php?seite=2');
Tut er aber nicht :/ Er gibt mir nur einen Fehler aus
Ist ja klar das er den Link erstmal "stationär" nicht findet er wird ja auch von der guestbook.php generiert.Warning: include(/script/guestbook/guestbook.php?seite=2) [function.include]: failed to open stream: No such file or directory in F:\xampp\htdocs\layout\index.php on line 59
Warning: include() [function.include]: Failed opening '/script/guestbook/guestbook.php?seite=2' for inclusion (include_path='.;F:\xampp\php\PEAR') in F:\xampp\htdocs\layout\index.php on line 59
Folgenden Code hat die Ausgabe:
Würde mich über Hilfe freuenPHP-Code:error_reporting(1);
$seite = $_GET["seite"];
error_reporting(0);
if(!isset($seite))
{
$seite = 1;
}
include("../../bin/mysql.php");
$eintraege_pro_seite = 15;
$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;
$abfrage = "SELECT * FROM guestbook WHERE aktiv = '1' ORDER BY id DESC LIMIT $start, $eintraege_pro_seite";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$inhalt = $row->inhalt;
$inhalt = htmlentities($inhalt);
$inhalt = nl2br($inhalt);
$datum = date("d.m.Y H:i", $row->datum);
if($row->email == "")
{
$name = "<b>$row->name</b>";
}
else
{
$name = "<a href=\"mailto:$row->email\">$row->name</a>";
}
echo "
<div class=\"bla\">
<div class=\"kopf\">
Von <b>$name</b> am $datum
</div>
<div class=\"inhalt\">
<br>
$inhalt
</div>
<br>
<hr>
</div>";
}
$result = mysql_query("SELECT id FROM guestbook WHERE aktiv = '1'");
$menge = mysql_num_rows($result);
$wieviel_seiten = $menge / $eintraege_pro_seite;
echo "<div align=\"left\">";
echo "<b>Seite:</b> ";
for($a=0; $a < $wieviel_seiten; $a++)
{
$b = $a + 1;
if($seite == $b)
{
echo " <b>$b</b> ";
}
else
{
echo " <a href=\"?seite=$b\">$b</a> ";
}
}
echo "</div>";
?>
Geändert von Kracky (30.01.12 um 12:26 Uhr)
-
Ohne genaue Analyse. Einfach mal aus der Problembeschreibung heraus gehe ich mal davon aus, dass dein Problem mit den verschachtelten includes() hast.
Wenn du das Gästebuch direkt aufrufst, dann müssen die Links auf das Gästebuchscript zeichen.
Wenn du das Gästebuch mit include() einbindest, dann müssen die Links auf die Haubtseite zeigen.
Wenn du deine Navigationslinks mit __FILE__ erstellst, dann zeigen sie immer auf das Script, das gerade den Lead hat.
__FILE__:
Der vollständige Pfad- und Dateiname einer Datei. Wird diese Konstante innerhalb einer nachgeladenen Datei verwendet, wird der Name dieser eingebundenen Datei zurückgegeben. Seit PHP 4.0.2 enthält __FILE__ immer einen absoluten Pfad mit aufgelösten Symlinks, während in älteren Versionen unter Umständen ein relativer Pfad enthalten sein kann.
Und falls du Verschachtelungen bei den include() hast:PHP-Code:$check['seite2'] = array(
'link' => __FILE__'?seite=2');
[PHP] verschachtelte include---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Danke erstmal
da krieg ich direkt ne Fehlermeldung in der navigation.php rein
ich würd jetzt mal auf falsche formatierung tippen? :oPHP-Code:Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in F:\xampp\htdocs\layout\navigation.php on line 53
edit: Verschachtelte Include's sind ne gute Frage hm
Also die Struktur is folgendermaßen:
das gästebuch script befindet sich in /script/guestbook/
was mit include über die navigation in die index.php eingebunden ist
in der navigation befindet sich allerdings kein include sondern dort wird nur das array definiert
in der index.php wird dann im entsprechenden navigations div die navigation mit include("navigation.php"); eingebunden und in das content div reingeladen mittels
include($check[$page]['link']);
bzw.
include($links[$page]['link']);Geändert von Kracky (30.01.12 um 12:47 Uhr)
-
Ups, hab da ein . vergessen
PHP-Code:$check['seite2'] = array(
'link' => __FILE__ . '?seite=2');
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
hmm das behebt den fehler leider auch nicht :/
Der einzige unterschied ist das er jetzt die Navigation bemängelt
Warning: include(F:\xampp\htdocs\layout\navigation.php?guestbook_seite=2) [function.include]: failed to open stream: No such file or directory in F:\xampp\htdocs\layout\index.php on line 59
-
Warum gibtst du beim include einen Paramter der URL mit? Das '?guestbook_seite=2' hat beim include nix verloren. Lies nochmals genau nach, was der include() macht,
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
ich gebe dem include keinen paramater der url mit
die url ist im array unter 'link' gespeichert ich include lediglich die navigation.php und die einzelnen seiten wie die guestbook.php
-
Die meldung besagt aber:
include(F:\xampp\htdocs\layout\navigation.php?guestbook_seite=2)---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
du hast auch recht
wenn das im array gespeichert ist versucht er natürlich auch den parameter zu includen.PHP-Code:$check['seite2'] = array(
'link' => '/script/guestbook/guestbook.php?seite=2');
Hmm aber auch ohne den Parameter komm ich nicht weiter
Ähnliche Themen
-
Mysql Klasse will nicht so recht.
Von Nerolein im Forum PHPAntworten: 6Letzter Beitrag: 18.03.09, 21:28 -
ICS will nicht so recht
Von drhasen im Forum NetzwerkeAntworten: 8Letzter Beitrag: 31.05.04, 21:10 -
LoadModule will nicht so recht
Von Wolfsbein im Forum Hosting & WebserverAntworten: 8Letzter Beitrag: 17.07.03, 21:37 -
setCookie will nicht so recht
Von Experience1986 im Forum PHPAntworten: 2Letzter Beitrag: 21.05.03, 19:28 -
netzwerk will nicht so recht...
Von loki im Forum HardwareAntworten: 5Letzter Beitrag: 11.11.01, 13:50





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren