Anzeige:
Ergebnis 1 bis 5 von 5

Thema: include funktioniert nicht

  1. #1
    Beluga
    Gast

    include funktioniert nicht

    Hallo!

    Ich habe ein Problem, dass ich mir nicht erklären kann.
    Wenn ich mein Script mit "?page=news" aufrufe, sollte eigentlich die news.php-Seite eingebunden werden. Dies geschieht aber nicht und der Bildschirm bleibt weiß.
    Mit dem unten stehenden Code binde ich die Seiten ein. Die Datei ist vorhanden und auch richtig geschrieben. Das Problem muss am "include"-Teil liegen, da ich zum Test

    PHP-Code:
    echo 'Test'
    vor und hinter den unten stehenden include-Teil gesetzt habe. Davor zeigt er den Text an. Dahinter nicht. In der news.php habe ich zum Test auch mal ein

    PHP-Code:
    echo 'Test'
    ganz zu Anfang der Datei gesetzt. Also vor dem restlichen Code. Der wird auch nicht mehr angezeigt. Somit ist ausgeschlossen, dass es an dem Quelltext in der news.php liegt. "error_reporting" ist bei mir auf "E_ALL" und es wird kein Fehler angezeigt.


    PHP-Code:
    /**///[BEGIN] - include site///**/
    if(!empty($_SESSION['username']) && !empty($_SESSION['password']) && !empty($_SESSION['level']))
    {
      if(
    file_exists("include/".$_GET['page'].".php"))
      {
        include(
    realpath("include/".$_GET['page'].".php")); //hier ist das Problem
      
    }
      else
      {
        include(
    realpath("template/head.html"));
        include(
    realpath("include/navigation_left.php"));
        include(
    realpath("include/navigation_right.php"));
        include(
    realpath("template/home/home_1.html"));
        
    message("warning"1);
        include(
    realpath("template/foot.html"));
      }
    }
    /**///[ENDIT] - include site///**/ 

    Vielleicht könnt ihr mir helfen!

    Gruß
    Beluga

  2. #2
    Registrierter Benutzer
    Registriert seit
    25.12.2004
    Beiträge
    217
    Hallo Berluga,

    setz mal
    PHP-Code:
    ini_set('display_errors'1); 
    ganz oben in dein Script. Das sollte eventuelle Fehler anzeigen.
    Kann auch sein das die Funktion realpath() den Pfad nicht findet und deshalb einen leeren String zurückgibt. Evtl. kannst du mal die Ausgabe dieser Funktion per echo/print zurückgeben.

    Grüße,
    nEox

  3. #3
    Beluga
    Gast
    Vielen Dank für die Hilfe!
    PHP-Code:
    ini_set('display_errors'1); 
    hat mir die Fehlermeldungen gebracht! Danke. Jetzt kann ich weiterarbeiten!

  4. #4
    Registrierter Benutzer
    Registriert seit
    24.06.2004
    Beiträge
    101
    Mal davon abgesehen, das dein Code mit dem includen grob fahrlässig anzusehen ist... Ohne Prüfung könnte man deine datei so hier aufrufen:

    http://server.url/scriptfilename.php.../boehsesscript

    Das .php wird ja automatisch angehängt... Ich würde das so nicht lösen

    EDIT: Sorry, hatte die if-prüfung auf file_exist überlesen

  5. #5
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    ich würde sowas dennoch etwa so realisieren:
    Code:
    $files=array("new"=>"new.php","edit"=>"edit.php);
    
    if(isset($files[$_GET['page']])) {
       include $files[$_GET['page']];
       }
    else {
       die "wegen is nich!!";
       }
    damit kannst du sicher sein, dass nur die von dir vorgesehenen dateien benutzt werden...
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •