Php 我有错误|解析错误:语法错误,意外的'else'(T|else)
我的代码中有一个错误 !!分析错误:语法错误,中出现意外的“else”T\u else 第32行C:\wamp64\www\cms\include\registor.php` 第32行 我找不到解决办法 这是我的代码: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'
<?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