Mailinglisten-Archive |
Enrico Weigelt schrieb: >>Mir ist prinzipiell klar, wie man eine Session anlegt und darin >>Variablen updatet. Aber wie kann ich das nutzen, um mir die Weitergabe >>von GET-Werten bei einem Link zu sparen? >>Ich habe einen Link, auf den der Anwender klickt. >>Jetzt muss doch zuerst ein neues PHP-Dokument aufgerufen werden (oder >>das gleiche nochmals), bevor ich die Session-Variable updaten kann. Und >>damit PHP jetzt weiss, was in die Sessionvariable rein soll, muss ich >>doch irgendetwas mit dem Link mitschicken. Also brauche ich doch in >>jedem Fall einen Übergabewert _bevor_ ich die Session updaten kann. > > > Ja. Das stimmt so. > Nun frag ich mich aber, wie Du Dir das nun vorstellst, was willst Du > da anders machen ? Der Client kann nichts weiter als Links (URIs) abrufen. > Ergo mußt Du darin alles verpacken. Wenn Du die Links serverseitig > erzeugen kannst (also von einer auf die nächste Seite), dann kannst Du > das codieren wie Du willst (solange es eine gültige URI bleibt, die > auf Deinen Server zeigt und Du diese dort wieder ordentlich zerlegen kannst). > Aber bei Formularen muß ja der Client die Daten zusammenbauen, und da > gibts eben die Daten nur urlencoded (wahlweise per GET an die URL angehangen > oder per POST im request body übergeben). > > Mir ist aber auch noch nicht ganz klar, was Du wirklich vorhast ... $get_variables = array( 'page' => index.php, 'user_id' => 18 ); $get = md5(serialize($get_variables)); $_SESSION[$request_string] = $get_variables; $get = $_SERVER['PHP_SELF'] . '?r=' . $get; echo '<a href="' . $get . '">Link</a>'; ... $get_variables = $_SESSION[$_REQUEST['r']]; oder $get = encrypt(serialize($get_variables)); $get = $_SERVER['PHP_SELF'] . '?r=' . htmlentities(urlencode($get)); echo '<a href="' . $get . '">Link</a>'; ... $get_variables = decrypt(urldecode($_REQUEST['r'])); -- Sebastian Mendel (www.sebastianmendel.de) *www.warzonez.de* | www.tekkno4u.de | www.nofetish.com
php::bar PHP Wiki - Listenarchive