2011-08-30 25 views
0

我得到一个PHP错误似乎只在IE中发生PHP的错误...只会发生在IE

我得到的错误是:

Notice: Undefined offset: 1 in absentAddGen.php on line 6 

5号线,6 ,7和8是:

5:$studentname = $_POST['nameQ']; 
6:list($lastname, $firstname) = explode(',',$studentname); 
7:$firstname = trim($firstname); 
8:$lastname = trim($lastname); 

此错误不会在Chrome或Firefox发生......在什么可能会导致它的主意?

让服务器端代码在其他浏览器上失败对我来说没有意义。

+1

看起来像$ studentname在IE示例中没有逗号:-)你如何将它传递给服务器? – jmans

+2

$ _POST ['nameQ']的期望值是多少?$ _POST ['nameQ']的实际值是多少? – dododedodonl

+0

这不是一个错误,它是一个通知。最有可能'$ _POST ['nameQ']'不包含'name,surname',但只包含'name'。 – Shef

回答

3

$studentname不包含,

list($lastname, $firstname) = explode(',',$studentname); 

相当于:

$tmp = explode(',', $studentname); 
$lastname = $tmp[0]; 
$firstname = $tmp[1]; 

如果在$studentname没有逗号,explode()返回只有一个元素的数组。当试图获得第二个元素(偏移1)时,PHP显示一条通知。

Undefined offset: 1错误表示您试图读取偏移量为1的元素的偏移量为1

确保您在$_POST['nameQ']

+0

$ studentname中总是会有一个“,” – adamzwakk

+0

显然不是。尝试回显'$ studentname'来验证。 – arnaud576875

+0

@adamzwakk这个答案是正确的,而你只是在IE中得到这个事实表明你有一个JS验证器,它不工作/做你期望的IE,但在其他地方工作。检查您的客户端脚本与您的表单上的“nameQ”字段相关。 – DaveRandom

0

发送正确的价值上的一个快速谷歌搜索“PHP错误未定义,偏移”把我带到这个链接:

http://www.webmasterworld.com/php/3793272.htm

,我不得不怀疑是否类似的事情发生在你的列表中,它在列表的末尾运行,而不是数组的末尾。我怀疑你的逗号不会被用来以某种方式分隔名字。