语法错误,unexpected T_else online


syntax error,unexpected T_else online 81

我试图使用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");
      }
    ?>