tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
306
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Kracky Kracky ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    26
    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

    PHP-Code:
    $links['guestbook']        =    array(
        
    'title'    =>    'Gästebuch',
        
    'link'    =>    '/script/guestbook/guestbook.php'); 
    die navigation.php ist wiederum mit include in die index.php eingebunden.

    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

    PHP-Code:
    $check['seite2']    = array(
        
    'link'    =>    '/script/guestbook/guestbook.php?seite=2'); 
    damit wollte ich halt erreichen das wenn ich jetzt ?page=seite2 aufrufe er auch die seite 2 lädt.

    Tut er aber nicht :/ Er gibt mir nur einen Fehler aus

    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
    Ist ja klar das er den Link erstmal "stationär" nicht findet er wird ja auch von der guestbook.php generiert.

    Folgenden Code hat die Ausgabe:

    PHP-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>";
    ?> 
    Würde mich über Hilfe freuen
    Geändert von Kracky (30.01.12 um 12:26 Uhr)
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    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.

    PHP-Code:
    $check['seite2']    = array(
        
    'link'    =>    __FILE__'?seite=2'); 
    Und falls du Verschachtelungen bei den include() hast:
    [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

  3. #3
    Kracky Kracky ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    26
    Danke erstmal

    da krieg ich direkt ne Fehlermeldung in der navigation.php rein

    PHP-Code:
    Parse errorsyntax errorunexpected T_CONSTANT_ENCAPSED_STRINGexpecting ')' in F:\xampp\htdocs\layout\navigation.php on line 53 
    ich würd jetzt mal auf falsche formatierung tippen? :o

    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)
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    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

  5. #5
    Kracky Kracky ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    26
    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
     

  6. #6
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    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

  7. #7
    Kracky Kracky ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    26
    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
     

  8. #8
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    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

  9. #9
    Kracky Kracky ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    26
    du hast auch recht

    PHP-Code:
    $check['seite2']    = array(
        
    'link'    =>    '/script/guestbook/guestbook.php?seite=2'); 
    wenn das im array gespeichert ist versucht er natürlich auch den parameter zu includen.

    Hmm aber auch ohne den Parameter komm ich nicht weiter
     

Ähnliche Themen

  1. Mysql Klasse will nicht so recht.
    Von Nerolein im Forum PHP
    Antworten: 6
    Letzter Beitrag: 18.03.09, 21:28
  2. ICS will nicht so recht
    Von drhasen im Forum Netzwerke
    Antworten: 8
    Letzter Beitrag: 31.05.04, 21:10
  3. LoadModule will nicht so recht
    Von Wolfsbein im Forum Hosting & Webserver
    Antworten: 8
    Letzter Beitrag: 17.07.03, 21:37
  4. setCookie will nicht so recht
    Von Experience1986 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 21.05.03, 19:28
  5. netzwerk will nicht so recht...
    Von loki im Forum Hardware
    Antworten: 5
    Letzter Beitrag: 11.11.01, 13:50