我试图使用html和php建立一个联系表单,但我得到这个消息解析错误:,语法错误,意外T_ELSE在c:'xampp'htdocs'myfolder'form_process.php在第81行,我真的不知道我在哪里做错了,这是我的代码下面
<?php
session_start();
if($_POST['submit'])
{
$num = 0;
if(strlen($_POST['name']) > 0)
$num = $num;
$_SESSION['name'] = $_POST['name'];
unset($_SESSION['error_name']);
}
else
{
$num = $num + 1;
$_SESSION['error_name'] = "You have not filled out a Name";
}
if(strlen($_POST['surname']) > 0){
$num = $num;
$_SESSION['surname'] = $_POST['surname'];
unset($_SESSION['error_surname']);
}
else
{
$num = $num + 1;
$_SESSION['error_surname'] = "You have not filled out a Surname";
}
if(strlen($_POST['phone']) > 0){
$num = $num;
$_SESSION['phone'] = $_POST['phone'];
unset($_SESSION['error_phone']);
}
else
{
$num = $num + 1;
$_SESSION['error_phone'] = "You have not filled out a Phone Number";
}
if(strlen($_POST['email']) > 0){
$num = $num;
$_SESSION['email'] = $_POST['email'];
unset($_SESSION['error_email']);
}
else
{
$num = $num + 1;
$_SESSION['error_email'] = "You have not filled out a Email Address";
}
if(strlen($_POST['comments']) > 0){
$num = $num;
$_SESSION['comments'] = $_POST['comments'];
unset($_SESSION['error_comments']);
}
else
{
$num = $num + 1;
$_SESSION['error_comments'] = "You have not filled out a Comment";
}
if ($num == 0)
{
//process form
echo "success";
}
else
{
header("Location: inter.php");
}
else{
header("location: inter.php");
}
?>
有人帮助
代码的底部有一个未关闭的if语句。检查你的代码
if{
...
}else{
header("location: inter.php");
}
您的else { header("location: inter.php"); }
与其他任何东西都不平衡:)
你一定要使用一致的缩进和一致的花括号。
这里有一个更新,加上(缺少?)花括号:
<?php
session_start();
if($_POST['submit']) {
$num = 0;
if(strlen($_POST['name']) > 0) {
$num = $num;
$_SESSION['name'] = $_POST['name'];
unset($_SESSION['error_name']);
}
else {
$num = $num + 1;
$_SESSION['error_name'] = "You have not filled out a Name";
}
if(strlen($_POST['surname']) > 0){
$num = $num;
$_SESSION['surname'] = $_POST['surname'];
unset($_SESSION['error_surname']);
}
else {
$num = $num + 1;
$_SESSION['error_surname'] = "You have not filled out a Surname";
}
if(strlen($_POST['phone']) > 0){
$num = $num;
$_SESSION['phone'] = $_POST['phone'];
unset($_SESSION['error_phone']);
}
else {
$num = $num + 1;
$_SESSION['error_phone'] = "You have not filled out a Phone Number";
}
if(strlen($_POST['email']) > 0){
$num = $num;
$_SESSION['email'] = $_POST['email'];
unset($_SESSION['error_email']);
}
else {
$num = $num + 1;
$_SESSION['error_email'] = "You have not filled out a Email Address";
}
if(strlen($_POST['comments']) > 0){
$num = $num;
$_SESSION['comments'] = $_POST['comments'];
unset($_SESSION['error_comments']);
}
else {
$num = $num + 1;
$_SESSION['error_comments'] = "You have not filled out a Comment";
}
if ($num == 0) {
//process form
echo "success";
}
else {
header("Location: inter.php");
}
}
else {
header("location: inter.php");
}
?>
我想你少了一个括号
header("Location: inter.php");
}
} // This one is missing
else {
如果您在if(strlen($_POST['name']) > 0)
行上缺少一个开始大括号,它应该开始:
<?php
session_start();
if($_POST['submit'])
{
$num = 0;
if(strlen($_POST['name']) > 0)
{ // added a brace here
$num = $num;
$_SESSION['name'] = $_POST['name'];
unset($_SESSION['error_name']);
}
else
您可以通过确保您的代码有条不紊地布局,或者使用显示匹配大括号的编辑器来更容易地找到这样的东西。
有两个相同的if
if ($num == 0)
{
//process form
echo "success";
}
else
{
header("Location: inter.php");
}
else{
header("location: inter.php");
}
?>