有些人可以向我解释在会话中存储$_GET
变量的最佳方式,sessions
更改的唯一方式是验证会话正在更改的数据与GET
变量。在会话中保存常量GET变量
目前我有
$tid = clean_get($_GET['tid']);
在一个全局文件
其中包括在每个页面上的问题是$tid
值将被删除,而不是存储在session
像我希望它一旦用户不在网址中设置为$tid
的网页上。
有些人可以向我解释在会话中存储$_GET
变量的最佳方式,sessions
更改的唯一方式是验证会话正在更改的数据与GET
变量。在会话中保存常量GET变量
目前我有
$tid = clean_get($_GET['tid']);
在一个全局文件
其中包括在每个页面上的问题是$tid
值将被删除,而不是存储在session
像我希望它一旦用户不在网址中设置为$tid
的网页上。
如果您在URL再次通过新的价值得到$ _GET [“TID”],然后设置会话,否则它会恢复。而已。
session_start();
$tid = (isset($_GET['tid']) && $_GET['tid']!="") ? clean_get($_GET['tid']) : $_SESSION['tid'];
试试这个,告诉我它解决了吗?
使用类似isset()的功能来查看它是否正在发送。只有这样,你应该改为:
if(isset($_GET['tid']))
{
$tid = clean_get($_GET['tid'])
// Do stuff to change session data.
}
即时通讯目前这样做[ – astonishin 2012-07-30 04:19:30
我想你在找什么东西像
session_start();
foreach ($_GET as $key=>$value) {
$_SESSION['getValues'][$key] = clean_get($value);
}
这将所有的值存储在$ _GET在$ _SESSION。要稍后检索值,在拨打session_start()
之后,您只需使用$_SESSION['getValues']['tid']
。
这里我假定clean_get()
只是格式化和/或转义来自表单的数据,因此在插入会话之前在每个值上调用它会在需要时执行所有清理。
注意:只需拨打session_start()
一次,并确保您在使用$_SESSION
之前执行任何操作,否则您将收到错误消息。
我将如何实现我的clean_get函数? – astonishin 2012-07-30 04:18:53
@astonishin,我不确定'clean_get()'的用途是什么,但基于我的最佳猜测,我已经更新了上面的答案以包含它。 – 2012-07-30 04:34:17
谢谢,但没有运气 – astonishin 2012-07-30 04:17:19
那么发生了什么?你有错误吗? – 2012-07-30 04:21:27
我需要一种方法来设置变量,而不是会话没有错误,它只是不能解决我的问题 – astonishin 2012-07-30 04:21:33