Parameter werden nicht angenommen
Jan
- php
0 Cheatah0 Jan
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
Hi,
Die Parameter werden erst gar nicht abgeprüft.
wie greifst Du auf sie zu?
Cheatah
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
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
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
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
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ß
hi
das prob hatte ich mit neueren php-versionen .... nebs sicherheit werden die so nícht mehr akzeptiert glaube ichmusst 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ß
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
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
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