2017-03-02 3 views
1

Ich habe ein großes Problem, ich erzeuge Inhalt mit meinem PHP-Skript. Ich gebe ein paar text-input an mein generierendes Skript weiter. Dieses Skript setzt alle text-input auf die Variable $_SESSION.Speichern von PHP Session Variablen zu lokalen Variablen

Zum Beispiel:

$_SESSION[text1] = $text1; 
$_SESSION[text2] = $text2; 

und so weiter ...

In der generierten Seite i nehmen diese $_SESSION Variablen und legt sie auf lokale Variablen.

Zum Beispiel:

$text1 = $_SESSION['text1'] 
$text2 = $_SESSION['text2'] 

und so weiter ...

Aber nachdem ich zerstören die Sitzung (Ursache Login/Logout-System) alle Inhalte auf der generierten Seite ist verschwunden. Nur die HTML-Tags sind immer noch da. Das bedeutet für mich, dass alle Sitzungsvariablen nach dem Löschen der Sitzung leer sind.

Meine Frage ist jetzt, wie kann ich diese Sitzungsvariablen speichern, ohne sie nach einem session_destroy(); zu verlieren?

Ps: Ich benutze eine MySQL-Datenbank, bin aber nicht so talentiert.

+0

Was möchten Sie mit diesen Variablen tun? Natürlich, nachdem Sie Ihre Sitzung zerstört und Ihre Seite neu geladen haben, werden die Variablen leer sein. –

+0

Ich möchte sie "für immer" speichern, damit ich den Inhalt der Variablen nicht verliere. –

+1

Dann müssen Sie auf eine Art von Datenbank zugreifen, sei es in Form von SQL, File oder NoSQL-Datenbanken. –

Antwort

-2

versuchen Vielleicht ungesetzt Sitzung, aber gerade dies, wo Sie Informationen speichern einloggen:

unset($_SESSION['login_session']);

Dann können Sie andere Sitzungen speichern.

Andere Möglichkeit ist die Verwendung von Cookies, um Text zu speichern.

$_COOKIE['text1'];

Also, wenn Sie Sitzung zerstören kippen Sie Cookies

+0

Die Frage ist unklar, was er mit den Variablen machen will. –

0

zerstören Eine Lösung speichern sie in der MySQL-Datenbank sein könnte. Verwendung PDO-Anschluss Zeilen in Tabellen einzufügen: [Doc Here]

Und wie folgt einfügen:

INSERT INTO my_table(`var1`,`var2`,`var3`) VALUES($val1,$val2,$val3); 

Was ist der Kontext der Anwendung?

2

Sitzung var sind nach session_destroy zerstört, so funktioniert es. Sie können speichern, was Sie wollen, in MySQL-DB, in einer Datei (JSON-Format), Mongodb, in Memcached, in Redis ... Sie können auch Cookies für einfache und nicht sichere var. Eine sehr einfache Sache ist, es in einer Datei zu speichern:

file_puts_content('filename.json',json_encode($_SESSION)); 

und es zurück zu bekommen

$_SESSION=json_decode(file_gets_content('filename.json'),true); 

Aber es ist viel besser, es mit einer Datenbank zu tun.