Php 我有错误|解析错误:语法错误,意外的'else'(T|else)

Php 我有错误|解析错误:语法错误,意外的'else'(T|else),php,mysql,syntax-error,php-5.6,Php,Mysql,Syntax Error,Php 5.6,我的代码中有一个错误 !!分析错误:语法错误,中出现意外的“else”T\u else 第32行C:\wamp64\www\cms\include\registor.php` 第32行 我找不到解决办法 这是我的代码: <?php include_once('config.php'); if(isset($_POST['submit'])){ $username = strip_tags($_POST['username']); $email = $_POST['email'

我的代码中有一个错误

!!分析错误:语法错误,中出现意外的“else”T\u else 第32行C:\wamp64\www\cms\include\registor.php`

第32行

我找不到解决办法

这是我的代码:

<?php
include_once('config.php');
if(isset($_POST['submit'])){
  $username = strip_tags($_POST['username']);
  $email    = $_POST['email'];
  $gender   = $_POST['gender'];
  $about    = strip_tags($_POST['about']);
  $facebook = htmlspecialchars($_POST['facebook']);
  $snapchat = htmlspecialchars($_POST['snapchat']);
  $twitter  = htmlspecialchars($_POST['twitter']);
  $date     = date("Y-m-d");

  if(empty($username)){
    echo '<div class="alert alert-danger" role="alert">الرجاء ادخال اسم المستخدم</div>';
  }elseif(empty($email)){ 
    echo '<div class="alert alert-danger" role="alert">الرجاء ادخال البريد الالكتروني</div>';
  }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){
    echo '<div class="alert alert-danger" role="alert">الرجاء ادخال بريد الكتروني صحيح</div>';
  }elseif(empty($_POST['password'])){
    echo '<div class="alert alert-danger" role="alert">الرجاء ادخال كلمة المرور</div>';
  }elseif(empty($_POST['con_password'])){
    echo '<div class="alert alert-danger" role="alert">الرجاء تاكيد كلمة المرور</div>';
  }elseif($_POST['password'] != $_POST['con_password']){
    echo '<div class="alert alert-danger" role="alert">كلمة المرور غير متطابقة</div>';
  }else{
     $sql_username = mysqli_query ($conn, "SELECT `username` FROM `users` WHERE `username` = '$username'");
     $sql_email = mysqli_query ($conn, "SELECT `email` FROM `users` WHERE `email` = '$email'");
     if(mysqli_num_rows($sql_username) > 0){
        echo '<div class="alert alert-danger" role="alert">عذراً لكن اسم المستخدم مسجل بالفعل</div>'; 
     }elseif(mysqli_num_rows($sql_email) > 0)
     echo '<div class="alert alert-danger" role="alert">عذراً لكن الاميل مسجل بالفعل</div>';
     }else{
         if(isset($_FILES['image'])){
              $image = $_FILES['image'];
              $image_name = $image['name'];
              $image_tmp = $image['tmp_name'];
              $image_size = $image['size'];
              $image_error = $image['error'];

              $image_exe = explode('.' , $image_name);
              $image_exe = strtolower(end($image_exe));

              $allowd = array('png','gif','jpg','jpeg');

              if(in_array($image_exe , $allowd)){
                  if($image_error === 0){
                      if($image_size <= 3000000){
                         $new_name = uniqid('user',false) . '.' . $image_exe;
                         $image_dir = '../images/avatar/' . $new_name;
                         $image_db =  'images/avatar/' . $new_name;
                        if(move_uploaded_file($image_tmp , $image_dir)){\
                        $password = md5($_POST['password']);
                        $insert = "INSERT INTO `users` (`username`,
                                                        `email`, 
                                                        `password`, 
                                                        `gender`, 
                                                        `avatar`, 
                                                        `about_user`, 
                                                        `facebook`, 
                                                        `twitter`, 
                                                        `snapchat`, 
                                                        `reg_date`, 
                                                        `role`)
                                                         VALUES
                                                        ('$username',
                                                         '$email',
                                                         '$password',
                                                         '$gender',
                                                         '$image_db',
                                                         '$about',
                                                         '$facebook',
                                                         '$snapchat',
                                                         '$twitter',
                                                         '$date',
                                                         'user')";
                        $insert_sql = mysqli_query($conn , $insert);
                        if(isset($insert_sql)){
                            echo '<div class="alert alert-success" role="alert">تمت عملية التسجيل بنجاح</div>'
                        }                                                    
                          }else{
                              echo '<div class="alert alert-danger" role="alert">عذراً حدث خطا اثناء رفع الصورة</div>';
                          }
                      }else{
                          echo '<div class="alert alert-danger" role="alert">عذراً حجم الصورة اكبر من 2 ميغابايت</div>';
                      }
                  }else{
                        echo '<div class="alert alert-danger" role="alert">عذراً ’ حدث خطاء غير متوقع اثناء رفع الصورة</div>';  
                  }
              }else{
                echo '<div class="alert alert-danger" role="alert">الرجاء اختيار صوره صالحة</div>';  
              }
          }

     }
}

?>


谢谢您的帮助

您在第31行缺少一个开头的花括号

}elseifmysqli_num_行$sql_电子邮件>0

需要

}elseifmysqli_num_行$sql_电子邮件>0{


请参阅评论;@tadman提出了很多观点。

警告:当使用mysqli时,您应该使用和向查询中添加任何数据。不要使用字符串插值或连接来完成此操作,因为您创建了一个严重的错误。切勿将$\u POST、$\u GET或任何类型的数据直接放入查询中,如果有人ne试图利用您的错误进行攻击。htmlspecialchars不是SQL的转义方法。注意:该方法的详细程度明显降低,使代码更易于阅读和审核,并且不容易与过时的mysql_查询接口混淆,因为缺少一个i会导致麻烦。例如:$db=new mysqli…和$db->prepare…过程接口在引入mysqli API时,基本上是PHP 4时代的产物,不应在新代码中使用。警告:编写自己的访问控制层并不容易,而且有很多可能会出现严重错误。请不要编写自己的身份验证系统,因为任何现代的类似系统都具有强大的内置功能。至少最少遵循密码,从不将密码存储为纯文本或弱散列(如SHA1或MD5)。此代码的结构使其非常、非常难以遵循。这主要是因为嵌套级别过高。其次是由于缺少一致的缩进。解决此类问题的最佳方法是通过将代码转换为函数并调用这些函数,而不是使用大量嵌套的条件。您缺少一个{在此行末尾:}elseifmysqli_num_rows$sql_email>0