我添加了一个检查程序,以确保表单中的所有字段都在提交表单时包含数据。
if( ( isset($_POST['name'] == "Contact") )
&& ( isset($_POST['company'] == "Company Name") )
&& ( isset($_POST['address'] == "Address") )
&& ( isset($_POST['turnover'] == "Approx. Turnover") )
&& ( isset($_POST['employees'] == "No. Of Employees") )
&& ( isset($_POST['contact'] == "Contact Number") )
)
{
//nothing has changed and we fail the form
$_SESSION['failed'] == true;
}
else{
我收到以下错误:
解析错误:语法错误,意外T_IS_EQUAL,期待','或')'
有人能看出问题所在吗? 此外,这会检查所有帖子值是否包含数据?
感谢。
答案 0 :(得分:2)
if(isset($_POST['name']) == "Contact")
应该是
if(isset($_POST['name']) && $_POST['name'] == "Contact")
(如果您需要||
)
OR
此外,它不会检查它是否有值。它仅检查是否设置了变量。
使用== ''
或empty()来检查它是否有值。
和
$_SESSION['failed'] == true;
应该是
$_SESSION['failed'] = true;
==
用于比较,=
用于作业
答案 1 :(得分:1)
if(
(isset($_POST["name"]) && $_POST["name"] == "Contact")&&
( isset($_POST['company']) && $_POST["Company Name"] == "Company Name") &&
( isset($_POST['address']) && $_POST["Address"] == "Address") &&
( isset($_POST['turnover']) && $_POST["Approx. Turnover"] == "Approx. Turnover") &&
( isset($_POST['employees'])&& $_POST["No. Of Employees"] == "No. Of Employees") &&
( isset($_POST['contact']) && $_POST["Contact Number"] == "Contact Number")
){
$_SESSION["failed"]=TRUE;
}
你忘了关闭isset()并在$ _SESSION的行中你必须用=
分配答案 2 :(得分:1)
函数isset
(http://www.php.net/manual/function.isset.php)用于检查您的变量是否已定义。要检查是否输入了值,您应该使用以下内容:
if(
empty($_POST['name']) || $_POST['name'] == "Contact"
|| empty($_POST['company']) || $_POST['company'] == "Company Name"
)
{
$_SESSION['failed'] = true;
}
答案 3 :(得分:1)
我认为,从逻辑上讲,您应该使用OR运算符
检查空值和默认值if( empty($_POST['name']) || $_POST['name'] == "Contact"
|| empty($_POST['company']) || $_POST['company'] == "Company Name"
|| empty($_POST['address']) || $_POST['address'] == "Address"
|| empty($_POST['turnover']) || $_POST['turnover'] == "Approx. Turnover"
|| empty($_POST['employees']) || $_POST['employees'] == "No. Of Employees"
|| empty($_POST['contact']) || $_POST['contact'] == "Contact Number"
)
{
//nothing has changed and we fail the form
$_SESSION['failed'] = true;
}
else{
答案 4 :(得分:0)
if(empty($_POST['name']) || ......)
然后会议失败。
答案 5 :(得分:0)
你也可以设置一个你期望的数组,并在POST数组和期望的数组之间做一个差异,如果有任何差异,那么失败...... 也就是说,如果你有硬编码的检查值...但似乎你想要检查值而不仅仅是键,所以它应该符合你的需要。