未定义的偏移量:0

时间:2013-07-17 07:39:12

标签: php

我有这种无法解决的偏移,似乎无法找出原因。当它拒绝虚假形式时,它会重定向它。请帮忙。

这是播放下面三行的区域。

if ($_POST['FirstName'] == "" || $_POST['LastName'] == "" ||  $_POST['Email'==""] ||                 
  $_POST['Phone'==""] || $_POST['Mobile'==""] || $_POST['Address'==""] ||
  $_POST['City'==""] || $_POST['Town'==""] || $_POST['Country'==""] ){


     $redirect= sprintf("order.php?error=true&name=%s", $_SESSION['order']['product']);
     if (!$_COOKIE['PHPSESSID']) { 
       $redirect .= '&'.SID ;
     }
       header(sprintf("Location: %s", $redirect));
       exit; 

     }

3 个答案:

答案 0 :(得分:6)

此:

$_POST['Email'==""]

应该是:

$_POST['Email'] == ""

和所有其他领域相同。

答案 1 :(得分:3)

这可能是因为您的结束] - 括号未对齐。也就是说,

$_POST['Address'==""]

应该是

$_POST['Address']==""

答案 2 :(得分:2)

替换

if ($_POST['FirstName'] == "" || $_POST['LastName'] == "" ||  $_POST['Email'==""] ||                 
  $_POST['Phone'==""] || $_POST['Mobile'==""] || $_POST['Address'==""] ||
  $_POST['City'==""] || $_POST['Town'==""] || $_POST['Country'==""] ){

使用

if ($_POST['FirstName'] == "" || $_POST['LastName'] == "" ||  $_POST['Email'] == "" ||                 
  $_POST['Phone'] == "" || $_POST['Mobile'] == "" || $_POST['Address'] == "" ||
  $_POST['City'] == "" || $_POST['Town'] == "" || $_POST['Country'] == "" ){

在您$_POST['Email'==""]而不是$_POST['Email'] == ""

之前请注意

在检查它们是否为空之前,您还应该使用isset()检查它们是否已设置。