nach Umzug zu netcup: include - Befehlt wird nicht ausgeführt

  • Hallo,


    ich bin gestern mit meiner Domain zu netcup umgezogen (Webhosting2000-Tarif), habe meine komplett Website hier per FTP wieder vollständig hochgeladen, allerdings öffnet diese nicht mehr korrekt, da anscheinend die include-Befehle nicht erkannt werden.


    Hier mal der Quelltext der index.php:


  • Das ist ganz, ganz schrecklicher Code, aber nichtsdestotrotz:

    • Per include, sagst du im Gegensatz zu require, dass es ok ist, wenn die Datei nicht gefunden wird, das könnte man also ändern (dann bricht das Script wenigstens ab.
    • schreib mal bitte ein var_dump(is_file('menu_oben.php'), is_file(__DIR__ . '/menu_oben.php')); in die Datei
    • Setze ein error_reporting(E_ALL); ini_set('display_errors', 1); ini_set('display_startup_errors', 1); an den Anfang des Codes

    und poste dann den Output.

  • Sorry, ich kenne mich echt nicht so sehr damit aus, ich wollte mit dem Aufbau eigentlich nur einen alten Frameset im html umgehen, da das ja nicht mehr zeitgemäß ist..


    hier mal der Link zur Website wo dies funktioniert hat (wichtig ist das Menü oben: http://www.wetterstation-chemnitz-reichenhain.de/

    und hier der Link zur oben geposteten Seite wo es nicht funktioniert:: https://chemnitz-wetter.de/test/ (sollte vom Aufbau identisch zur obigen Seite sein!)



    Welcher Output ist gemeint, ich kann kein Fehlermeldung sehen?!

  • Hallo siolein,


    das der Code so nicht empfehlenswert ist hat man Dir schon gesagt. Bei Gelegenheit solltest Du den umbauen :)

    Du hast vermute ich mal ein Pfadproblem.


    Ich würde erstmal ein

    Code
    die(__DIR__);


    machen.

    Das bitte oben direkt nach dem <?php einfügen.

    Mit die() lassen wir die Skriptausführung unmittelbar beenden. In __DIR__ wird der aktuelle Pfad gespeichert.
    Anhand dessen kannst Du nun schauen wo PHP Deine menu_oben.php erwartet.


    Ich vermute, dass die Dateien die Du einfügst im gleichen Ordner liegen (sollten) wie Deine index oder?


    Viele Grüße

  • Hallo Peng,


    danke für deine Hinweise. Ich habe jetzt folgenden Code auf der Seite:


    und als Ausgabe kommt: /var/www/vhosts/hosting110409.a2f39.netcup.net/httpdocs/chemnitz-wetter/test


    Das ist das Verzeichnis wo die Datei auch liegt. es soll ja auch alles aus dem gleichen Verzeichnis wie die index geladen werden.


    Hm also theoretisch sollte ja alles gehen, aber es sieht so aus: https://chemnitz-wetter.de/test/index.php?s=start :(

  • Auf dem Link den du jetzt gepostet hast, sind auch die (positiven) Rückmeldungen bool(true) und bool(true) zu sehen. Heißt: die Dateien werden includiert.


    Wenn also ein Ergebnis rauskommt, das nicht deinen Erwartungen entspricht, dann liegt wohl irgendeine Kombination von Umständen vor, die dafür sorgt, dass nicht das passiert, was du erwartest.

  • Auf dem Link den du jetzt gepostet hast, sind auch die (positiven) Rückmeldungen bool(true) und bool(true) zu sehen. Heißt: die Dateien werden includiert.


    Wenn also ein Ergebnis rauskommt, das nicht deinen Erwartungen entspricht, dann liegt wohl irgendeine Kombination von Umständen vor, die dafür sorgt, dass nicht das passiert, was du erwartest.

    Okay das ist ja schon einmal gut, aber grundsätzlich verstehe ich nicht, warum beim alten Hoster meien Seite ohen Problme lief und seitdem ich bei netcup bin dies nicht mehr geht, obwohl ich am Quelltext nix veränert habe! Ich komme so einfach nicht weiter :(

  • Du greifst in titel.php (Zeile 4) auf die Variable param zu, die es nicht gibt. Ggf. solltest Du mit empty() Existenz und Zustand der Variablen prüfen. Falls Dir das jetzt nichts sagt, solltest Du diese Seite mit diesem Code vielleicht lieber nicht betreiben.,

  • Du greifst in titel.php (Zeile 4) auf die Variable param zu, die es nicht gibt. Ggf. solltest Du mit empty() Existenz und Zustand der Variablen prüfen. Falls Dir das jetzt nichts sagt, solltest Du diese Seite mit diesem Code vielleicht lieber nicht betreiben.,

    ich habe an der titel.php nix geändert, wie gesagt beim alten Hoster ging es ja..


    hier der Inhalt der titel.php


    PHP
    <?php
    
    switch ($param)
    {    case "start":
        $titel="Wetterstation Chemnitz-Harthau - Startseite"; break;
     
        default:
        $titel="Wetter Chemnitz-Harthau";
    }
    ?>
  • aber grundsätzlich verstehe ich nicht, warum beim alten Hoster meien Seite ohen Problme lief und seitdem ich bei netcup bin dies nicht mehr geht, obwohl ich am Quelltext nix veränert habe!

    PHP gibt es in verschiedene Versionen und jeder Hoster hat eine eigene Konfiguration.

  • Wenn man mal in den HTML-Code der Seite (https://chemnitz-wetter.de/test/index.php?s=start) schaut, sieht man, dass dort noch PHP-Tags drin sind. Die haben da natürlich nichts drin zu suchen, sondern sollten Serverseitig ausgewertet werden.


    Du benutzt wie weiter oben geschrieben noch Short-PHP-Tags <? ; das ist bei den meisten Anbietern standardmäßig nicht möglich und muss entweder Aktiviert werden (php-Setting short-open-tag) oder du musst alle Vorkommen von <? (ohne was danach) durch <?php ersetzen.

  • Wenn man mal in den HTML-Code der Seite (https://chemnitz-wetter.de/test/index.php?s=start) schaut, sieht man, dass dort noch PHP-Tags drin sind. Die haben da natürlich nichts drin zu suchen, sondern sollten Serverseitig ausgewertet werden.


    Du benutzt wie weiter oben geschrieben noch Short-PHP-Tags <? ; das ist bei den meisten Anbietern standardmäßig nicht möglich und muss entweder Aktiviert werden (php-Setting short-open-tag) oder du musst alle Vorkommen von <? (ohne was danach) durch <?php ersetzen.

    scheinbar lag es wirklich daran, dass short-tags verwendet wurden. Zusätzlich habe ich die inlcude durch require ersetz. Ich habe alles angepasst und nun funktoniert auch wieder alles. :) Vielen herzlichen Dank!