Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Ich kapier es nicht! (variablen in Link oder doch nicht?)

Moin Leute!

Ich versteh die Welt nicht mehr.
Überall lese ich dass in der php.ini der Eintrag register_globals auf Off stehen soll.
Aber wenn ich nun einen Link habe mit ?Var=adaa&Var2=test usw. wie greife ich dann drauf zu? Ist das nun ein POST oder GET? Hab beides versucht. Klappt leider nicht. Bin ich zu blöd? Vermutlich schon.

Alternativ würde mir auch eine Andere Lösung reichen: Ich muss einfach per Link verschiedene Subseiten öffnen (Hab immer eine index.php wo verschiedene Inhalte drin geladen werden sollen). Am liebsten währe es mir wenn der User nicht sieht was nun grade übergeben wird. Muss aber per normalen Link gehen!
Aber ich glaube dass das nicht möglich ist.
Oder?

Gruß

Christian

Hier gehts zum Orginal Eintrag "Ich kapier es nicht! (variablen in Link oder doch nicht?)" im Forum

Antworten

versuche mal anstatt $Get... oder $Post den gemeinsamen Befehl $Request. Wenn du nämlich auf einer auszusuchenden seite GET und POST zusammen hast, dann macht PHP bei der Auswertung Probleme.
Wenn du per Link übergeben willst (GET), dann wird der User(meiner Kenntnis nach) immer sehen, was übergeben wird. das lässt sich nur mittel POST verhindern.

Den Link, den du übergen willst, ist scheinbar (so wie du es schreibst) ein GET Befhel. Aber wie gesagt. Bei Unsicherheiten REQUEST !


2.

Es ist überhaupt nicht ratsam, stattdessen $_REQUEST zu benutzen. Vielmehr sollte man beachten, dass man Variablen auch wirklich so schreibt, wie sie lauten, nämlich $_GET und $_POST und nicht anders. Will man wirklich $_GET und $_POST zusammenfassen empfiehlt sich

Code:                   In Zwischenablage kopieren (nur IE)
1">

[doc]array_merge[/doc]


3.

Na dann danke ich euch doch schon mal für die Antworten.

Nur für mich noch mal zum Verständnis:
register_globals in der php.ini steht auf On
-> Variablen die per Link (index.php?VariablenName=test) übergeben werden können mit $VariablenName aufgerufen werden
-> Felder aus einem Formular können mit $VariablenNamen aufgerufen werden
-> Werte einer Variablen in einer SID können per URL (index.php?VariablenName=Wert) geändert werden

register_globals in der php.ini stehen auf Off
-> Variablen die per Link (index.php?VariablenName=test) übergeben werden müssen mit $_GET['VariablenName'] aufgerufen werden
-> Felder aus einem Formular werden mit $_POST['VariablenNamen'] aufgerufen werden
-> Werte einer Variablen in einer SID können nur per PHP (also nur durch das Script) geändert werden.

Also ist die sicherste (so dass der User den Wert nicht ändern kann) Möglichkeit Variablen zu übergeben eine SID zu erstellen, und register_globals auf Off zu stellen.
Oder?

Gruß

Christian


4.

Schwarzweiß... Du kannst auch bei register_globals=on nur $_GET, $_POST und $_SESSION verwenden.


5.

Bei einer Session solltest Du beachten, dass diese bei ungeschickter Benutzung dann versagt, wenn der Benutzer Deine Seite mehrmals offen hat.


6.

Zitat:
Oliver Albers postete
Schwarzweiß... Du kannst auch bei register_globals=on nur $_GET, $_POST und $_SESSION verwenden.
HÄ? Also bei mir klappte es bisher immer mit $VariablenName.

@oimel: Danke für den Tipp! Ist mir gestern Nacht (war eigentlich schon wieder morgen) auch aufgefallen. Aber ich denke mir dass ich damit leben kann, bzw. ja auch muss.

Nochmals rechtherzlichen Dank für die vielen und hilfreichen Antworten.

Gruß

Christian


7.

Du verstehst mich falsch. Du kannst dich auch wenn regsiter_globals on ist auf die Verwendung der "sichererern" Arrays beschränken.


8.

Ach so war dass gemeint. Jetzt hab ich es kapiert!


Hier gehts zum Orginal Eintrag "Ich kapier es nicht! (variablen in Link oder doch nicht?)" im Forum
 
phpforum.de | Impressum | Handy Bundles