Speichern Sie alle POST-Daten in SESSION
Habe ich mehr Werte (über 20) von $_POST so...
$name = $_POST['name'];
$username = $_POST['username'];
$city = $_POST['city'];
$mobile = $_POST['mobile'];
$address = $_POST['address'];
HINWEIS : ich habe verhindert es die Werte von SQL-injection.
Meine Frage ist, kann ich wissen, gibt es eine Möglichkeit, um zu speichern alle diese POST-Werte in SESSION at once?
Anstelle dieser Methode..
$_SESSION['name'] = $name;
etc
alle Antworten werden in hohem Grade geschätzt.
Danke.
InformationsquelleAutor TNK | 2013-01-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wird, erstellen Sie ein array mit den post-Werten in einer einzigen session-variable. Die Werte zugänglich wären, wie
Dann kann ich nicht brauchen, um hinzuzufügen, $_POST['name'] usw jeweils?
OK.. aber eine Sache, ich habe POST zuordnen von Werten zu Variablen.. $name = $_POST['name']; usw.. Dann was passieren?
Was passiert, wenn es mehrere
$_POST
's auf den Seiten? Wie kann ich einstellen, dass eine bestimmte$_POST
?InformationsquelleAutor Mattt
Können Sie diese mit einem array zu einem anderen.
$_POST
und$_SESSION
sind nur arrays.Beachten Sie, dass die Tasten in der zweiten Reihe haben Vorrang im Falle von Duplikaten.
Allerdings sehe ich nicht ein, das Ende gut, da der client-Seite zu injizieren, was er will, die session, E. G. hijacking Ihre Benutzer-session-id.
$_SESSION += $_POST; das ist das Beispiel.
Einfach und elegant. +1
Ich weiß nicht, ob dies änderte sich, sondern Werte, die in der ersten array-Vorrang mit doppelten Schlüsseln. Siehe php.net/manual/en/function.array-merge.php
InformationsquelleAutor Mirko Adari
Wenn Sie auf der Suche nach session-Variablen, die gesetzt werden mit dem gleichen Schlüssel wie das array geschrieben, Sie könnte verwenden:
Das wird deine $_POST-array in Variablen basierend auf den array-key und auch die Sitzung zur gleichen Zeit. Dann könnten Sie den Zugriff auf Ihre
name
post, indem Sie entweder$_SESSION['name']
oder$name
.Bedeutet dies, dass Sie nicht brauchen, um zu verwenden:
$name = $_POST['name'];
mehr. Wie der obige code setzt die variable name für Sie und auch das session-variable.Das wird konvertieren Sie Ihre post-array in Variablen und session-Variablen in einem Rutsch. Das heißt, wenn Sie post
name=Bob
es konvertiert$name = 'Bob';
und auch$_SESSION['name'] = 'Bob';
.Warum Sorge über das Formular ein Feld, in dem Namen, der passt und effektiv überschreibt der session-var, ohne es zu merken? Schieben Sie die gesamte post-array in einer session var macht eine mehrdimensionale aus $_POST, ohne die chance von Datenverlust.
was bedeutet "${$key} = $value;" zu tun?
InformationsquelleAutor PhearOfRayne
Die beste Erklärung, die der übergabe von Variablen entweder mit form post-oder header-location-redirect in php check-out meine Antwort in diesem thread: Gewusst wie: übergeben von Variablen erhalten Sie im GET-string durch ein php header redirect?
InformationsquelleAutor Jaro