Failed opening bei include??

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Failed opening bei include??

    Hallo!! Ich habe ein Problem!! Ich habe ein formular und übergebe dies mit ner sessionid!! Und dann bekomme ich die folgende fehlermeldung:
    Warning: Failed opening './textbpr.php?sessionid=$sessionid' for inclusion (include_path='.:/usr/local/lib/php') in /homepages/6......../tlbuch.php on line 4
    Und diese ist:
    1: <?
    2: if ($textlinksb){
    3: require ('./config.php');
    4: include('./textbpr.php?sessionid=$sessionid');
    5: }
    6: ?>
    Danke für Hilfe!!!!
    No internationalisation, no fun.

  • #2
    Laß die Parameter weg - includete Skripte werden so behandelt, als stände ihr Text direkt in der Datei, in der das include steht.

    Darum sollten bedingte includes etc. auch immer in geschweiften Klammern stehen.

    Beispiel:

    eins.php:
    <?php
    if ('jau'==$a) include ('zwei.php');
    else echo 'nö';
    ?>

    zwei.php:
    <?php
    echo 'ja';
    echo 'woll!';
    ?>

    Aufruf eins.php?a=nope wird interpretiert als:
    <?php
    if ('jau'==$a) ;
    else echo 'nö';
    ?>

    Aufruf eins.php?a=jau als:
    <?php
    if ('jau'==$a) // jetzt kommt der Inhalt von zwei.php:
    echo 'ja';
    echo 'woll!';
    else echo 'nö';
    ?>

    Ergebnis: Parse error in eins.php in line 3
    bzw. bei älteren PHP-Versionen: Parse Error in eins.php in line 5 (die Zeilen aus zwei.php werden mitgezählt!)
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Das is bei mir nen bischen komplizierter!!! Ich habe meine Seite mit includes aufgebaut!!

      tlbuch.php --> Das is die Hauptseite:
      <table ...."><tr><td>
      <? include('./hauptob.php'); ?>
      </td></tr></table>
      <table ...0"><tr><td>
      <table ...">
      <? include('./intlinks.php'); ?></table>
      <table ..."><tr><td>
      <? include('tlbuchmit.php'); ?></td></tr></table>
      <table ....">
      <? include('./intrechts.php'); ?></table>
      </td></tr></table>

      in der tlbuchmit.php is dann das formular, welches ich mit submit sende:
      <form action="./tlbuch.php" method="POST">
      <input type="hidden" name="sessionid" value="<? echo $sessionid; ?>">
      Geben Sie hier bitte den Linktext ein: (max. 16 Zeichen)<br><input type="Text" name="linktext" value..."><br><br>
      ........<br>
      <input type="Submit" name="textlinksb" value="Textlinks buchen">
      </form>

      dann wieder die tlbuch.php:
      <?
      if ($textlinksb){
      require ('./config.php');
      include ('./textbpr.php?sessionid=$sessionid');
      }
      ?>

      So. dann Soll er also die daten aus dem formular in der textbpr.php auswerten!! Nur dann halt wie gesagt, die Fehlermeldung!!!
      No internationalisation, no fun.

      Kommentar


      • #4
        include ('./textbpr.php?sessionid=$sessionid');
        wie titus bereits schrieb: lass die get-parameter im include weg (also nur include ('./textbpr.php') ) - ist nicht nötig, da die variable sessionid bereits unter diesem namen vorhanden ist für die eingefügte datei.

        funktionieren wirds vermutlich sowieso nicht weil du nicht die variable $sessionid im include stehen hast sondern einen string "$sessionid" richtiger wäre include "./textbpr.php?sessionid=".$sessionid; (anscheinend wird ja "$sessionid" ausgegeben statt einer nummer)

        aber wie gesagt ohnehin unnötig

        und wegen dem failed opening - referenzier mal direkt (also kompletter pfad vom wurzelverzeichnis aus) - das sollte gehen ist aber auch nur ne zwischenlösung



        [Editiert von WhiteMountain am 04-03-2002 um 23:52]

        Kommentar


        • #5
          Alles klar!! Jetzt funzt es!! War halt die sessionid!! Dankeschön!!!
          No internationalisation, no fun.

          Kommentar

          Lädt...
          X