Jan: Parameter werden nicht angenommen

Hallo Leute!

Nun, mein Webhoster tauscht die Server aus und ich nehm an, dass noch nicht alles umgestellt ist.
Momentan hab ich aber folgendes: Meine Seite ist nun wieder online, aber es wird immer nur der Content bei parameterlosem Aufrufen des Scripts angezeigt.

Als Beispiel: index.php bringt ein "Willkommen", das funzt auch optimal. index.php?menu=friend sollte "Meine Freunde" anzeigen (Content kommt aus MySQL-DB), doch wird hier wieder "Willkommen" angezeigt.

Die Parameter werden erst gar nicht abgeprüft. Kann das an einer noch nicht vollständigen PHP-Installation liegen? Oder wie kann es sonst zu dieser Situation kommen? Wie gesagt, der Hoster arbeitet noch am Server. Mich würds nur interessieren wie sowas aufscheinen kann.

lg, Jan

  1. Hi,

    Die Parameter werden erst gar nicht abgeprüft.

    wie greifst Du auf sie zu?

    Cheatah

    --
    X-Will-Answer-Email: No
    1. Hi!

      wie greifst Du auf sie zu?

      Wenn ich also ?menu=friends hab, prüfe ich $menu hab und hol anhand dieser Variable die Daten aus der Datenbank. Hat bisher immer tadellos funktioniert, auch nach Updates von Seiten des Providers.

      Gruß, Jan

      1. Hallo Jan,

        Wenn ich also ?menu=friends hab, prüfe ich $menu hab und hol anhand dieser Variable die Daten aus der Datenbank. Hat bisher immer tadellos funktioniert, auch nach Updates von Seiten des Providers.

        Du wirst jetzt höchstwahrscheinlich $_GET['menu'] schreiben müssen, um auf die Parameter zugreifen zu können. Änderung in der php.ini, Eintrag register_globals, da hat sich der Standardwert zur sichereren Seite hin geändert.

        Gruss,

        Vinzenz

        1. Hallo Vinzenz!

          Du wirst jetzt höchstwahrscheinlich $_GET['menu'] schreiben müssen, um auf die Parameter zugreifen zu können. Änderung in der php.ini, Eintrag register_globals, da hat sich der Standardwert zur sichereren Seite hin geändert.

          Nun, ich hab jetzt das Testscript test.php?menu=lala oben.

          Das heißt, wenn ich nun lala ausgeben möchte, muss ich

          echo $_get['menu'];

          schreiben?

          Habs grad ausprobiert, funktioniert leider nicht :o(

          Gruß, Jan

          1. Hallo Jan,

            Du wirst jetzt höchstwahrscheinlich $_GET['menu'] schreiben müssen,
            echo $_get['menu'];

            es hat schon seinen Sinn gehabt, dass Vinzenz das 'get' groß geschreiben hat,
            echo $_GET["menu"] //sollte lala ausgeben

            Grüße aus Nürnberg
            Tobias

      2. hi
        das prob hatte ich mit neueren php-versionen .... nebs sicherheit werden die so nícht mehr akzeptiert glaube ich

        musst mit $_post abrufen, aber ich glaube die musst dann auch per post versenden an die site

        gruß

        1. hi
          das prob hatte ich mit neueren php-versionen .... nebs sicherheit werden die so nícht mehr akzeptiert glaube ich

          musst mit $_post abrufen, aber ich glaube die musst dann auch per post versenden an die site

          sorry, hab gerade die msg von vinzenz gelesen, stimmt ......... mein post war also falsch, sorry

          gruß

          1. Hi,

            musst mit $_post abrufen, aber ich glaube die musst dann auch per post versenden an die site
            sorry, hab gerade die msg von vinzenz gelesen, stimmt ......... mein post war also falsch, sorry

            also, wenn die Daten mit POST versendet wurden, stehen sie auch in $_POST drin. Von daher war es also richtig. Dass der Query-String einer GET-Übertragung entspricht und die Parameter daher in $_GET zu finden sind, ist triviale Transferleistung ;-)

            Cheatah

            --
            X-Will-Answer-Email: No
            1. also, wenn die Daten mit POST versendet wurden, stehen sie auch in $_POST drin. Von daher war es also richtig. Dass der Query-String einer GET-Übertragung entspricht und die Parameter daher in $_GET zu finden sind, ist triviale Transferleistung ;-)

              Hhhmmm, jetzt weiß ich wieso $_get und $_post bei mir nicht funktionierten. Ich hab kein Formular!

              Ich hab einfach nen Link (also <a href=....) auf index.php?menu=friend.

              Und hier konnte ich super per SELECT * FROM table WHERE kat='$menu' den richtigen Content zuweisen.

              Gruß, Jan

              1. Hi,

                Hhhmmm, jetzt weiß ich wieso $_get und $_post bei mir nicht funktionierten. Ich hab kein Formular!
                Ich hab einfach nen Link (also <a href=....) auf index.php?menu=friend.

                der Server hat keinen Schimmer davon, auf welche Weise die bei ihm ankommenden Daten verschickt werden. POST ist POST, GET ist GET.

                Und hier konnte ich super per SELECT * FROM table WHERE kat='$menu' den richtigen Content zuweisen.

                Dieses Sicherheitsrisiko lag an einer Fehlkonfiguration des Servers. Wenn es mit $_GET nicht geht, versuche die lange Schreibweise: $HTTP_GET_VARS. Ich bin übrigens nicht sicher, ob bei diesen Systemvariablen für PHP die Groß- und Kleinschreibung relevant ist.

                Cheatah

                --
                X-Will-Answer-Email: No