2017-03-02 92 views
1

我有一个大问题,我用我的PHP脚本生成内容。我将一些text-input传递给我的生成脚本。该脚本将所有text-input设置为$_SESSION变量。保存PHP会话变量为局部变量

例如:

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

等等...

在生成的页面我把这些$_SESSION变量,并把他们的局部变量。

例如:

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

等等...

但之后,我删除会话(登录/注销系统的原因)所有生成的网站上的内容了。只有HTML标签仍然存在。所以这对我来说意味着所有会话变量在销毁会话后都变空。

我现在的问题是如何在session_destroy();后保存这些会话变量而不丢失它们?

Ps:我使用MySQL数据库,但我不那么有才华。

+0

你想对这些变量做什么?当你销毁你的会话并重新加载你的页面后,变量将是空的。 –

+0

我想永远保存它们,所以我不会放弃变量的内容。 –

+1

然后,你将不得不求助于SQL,File或noSQL数据库形式的数据库。 –

回答

-2

也许尝试取消设置会话,但只是这下保存登录信息:

unset($_SESSION['login_session']);

然后你就可以拯救他人的会议。

其他方式是使用cookie保存文本。

$_COOKIE['text1'];

所以,当你摧毁会话你不能破坏饼干

+0

问题不清楚他想用变量做什么。 –

0

一个解决办法是将它们存储在MySQL数据库。 使用PDO连接到你的表中插入行:[Doc Here]

并插入这样的:

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

什么是应用程序的情况下?

2

会话var在session_destroy后被销毁,它是如何工作的。你可以在mysql数据库,文件(json格式),mongodb,memcached,redis中保存你想要的内容...... 你也可以使用cookies来做简单和非安全的变种。 很简单的事情是把它保存在一个文件:

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

,并把它找回来

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

但它要好得多与数据库做到这一点。