URL-Parameter sind bei Übergabe leer!



  • Hi,
    Ich habe seit heute nen riesiges Problem mit meinen PHP-Codes...

    Und zwar kennt er keine Parameter, die in der URL übergeben, mehr!

    Wenn ich sage:

    Code:

    http://localhost/portal.php?portal=1

    dann ist $portal leer! Was kann ich da machen?

    Das Problem habe ich aber nicht nur, wenn ich die Dateien auf meinem localhost mir angucke, sondern auch, wenn ich die Dateien auf meinen Webserver hochschiebe und mir da angucke! Die anten Dateien, funktionieren dort aber noch, allerdings auch nicht mehr bei mir aufm localhost!

    Ich habe die Dateien jetzt schon unter Windows mit phpTriad, unter Linux mim Apache2 und aufm Webserver ausprobiert!

    Ich bin am veruzweifeln, was ist das?





  • Danke für die Schnelle Antwort, aber das sieht mir so aus, als ob das für alle auf einem Server befindlichen Dateien gilt, da ich das, so weit ich das gesehen habe in den Dateien PHP_INI_PERDIR|PHP_INI_SYSTEM ändern muss, aber da ist das Problem dann, dass die alten Dateien auf meinem Webserver noch laufen, nur die neuen nicht. 😉

    Wenn ich das allerdings in meinen Skripten ändern muss, wo muss ich das machen, da er bei mir die funktion register_globals() nicht kennt und laut der Manuals es nicht zur laufzeit gesetuzt werden kann... was heißt, dass es vorher, bzw. extern eingestellt werden müsste...

    Was muss ich also noch ändern?



  • bei Variablen über die Adress zeile muss

    $_GET[blubber]

    und bei denen über POST muss

    $_POST[blah]

    stehen.

    Register Globals is keine Funktion(müsste man mal schreiben xD), sondern eine Einstellung in der php.ini



  • OK danke,
    jetzt klappt der Code endlich! 🙂

    Aber sollte ich jetzt alle meine alten php-Dateien, wo ich sachen aus URLs auslese an das mit $_GET[] umändern?
    Wäre das sinnvoll, bzw. bei ner kleinen Seite ratsam vom Arbeitsaufwand-Nutzenaspekt?

    Und noch ne Frage. 😉
    Wenn die neuen Dateien nicht klappen, wieso klappen die anten dann ohne $_GET[] noch? Kann es sein, dass deren Funktion bald "stirbt" oder wird da über das Datum geguckt, ob das ältere Daten sind, und das die so noch funktioieren?



  • eigentlich dürfe das dann gar nichmehr gehen



  • Bei mir gehen sie aber noch... 🙄

    Naja, ich werde die dann mal nach und nach jetzt die Tage überarbeiten und dann dürfte gut sein. 😉

    Danek für die Antworten, habt mir sehr geholfen. 😉



  • RegisterGlobals ist eine Einstellung für PHP.

    Wenn diese ON ist dann werden automatisch Variablen nach den Parametern aus GET/POST erstellt.

    RegisterGlobals ist standardm. auf Off da es eine große Sicherheitslücke ist.
    Somit solltest du jede Deiner Seiten dahingehend ändern.

    Wenn die alten Seiten noch funktionieren solltest du mal schauen ob auf Off/On.
    Macht man z.B. mit der Funktion phpinfo();



  • Wenn du daten sowohl als GET als auch als POST übergeben willst,
    kannst du sie mit _REQUESTabfragen,anstattmitif(\_REQUEST abfragen, anstatt mit if(_GET["var"]||$_POST["var"]).


Anmelden zum Antworten