【发布时间】:2010-06-19 14:28:54
【问题描述】:
好的,PHP 正在抛出这个错误(在日志中),这对应用程序非常不利。
PHP Notice: Undefined index: sessid in methods.php on line 7
是的,我知道这个错误意味着什么,但我无法弄清楚为什么它显然是定义的并且说它是未定义的。这是methods.php中的相关代码
$sessid = mysql_real_escape_string($_REQUEST['sessid']);
现在,在您说“不,它未定义!!!”之前,这是对 methods.php 的 POST 请求(是的,我也知道 $_REQUEST “不可信”) .
method=r&room=general&sessid=d0sma94yw4r4cdckv2ufhb&qid=1276957562382
如您所见,sessid 显然已定义并被发送到methods.php。我只是想我也会在这里输入相关查询。
mysql_query('UPDATE active SET time=\''.$timestamp.'\' WHERE sessid=\''.$sessid.'\'');
是的,时间也定义为:
$time = time();
那么,这里有什么问题?
【问题讨论】:
-
你可以试试
$_GET["sessid"]吗?您是否使用任何可能取消设置$_REQUEST的库或框架?var_dump($_REQUEST);说什么? -
var_dump是array(1) { ["sessid"]=> string(21) "d0sma94yw4r4cdckv2ufhb" } -
如果是 var_dump(),为什么
method,room&qid键消失了? -
好吧,这有点奇怪,但我通过应用程序又做了一个
var_dump,这次不仅仅是基于 URL 的,这是结果(@987654335 的明显未定义@变量).array(4) { ["method"]=> string(1) "r" ["room"]=> string(7) "general" ["sessid"]=> string(0) "" ["qid"]=> string(13) "1276959603731" }
标签: php mysql variables indexing