«Ошибка анализа: синтаксическая ошибка, неожиданный конец $» Для моего присвоения регистрации uni

Я новичок в php, поэтому я использовал учебник Youtube для создания этого скрипта, однако, похоже, он исчез, поэтому я не могу задать ему какие-либо вопросы. Моя форма входа, похоже, работает нормально, но регистрационная форма – это то место, где у меня возникают проблемы

Я удалил все html из кода и всех операторов else, чтобы попытаться устранить сообщение об ошибке, но я не могу найти его. Ошибка всегда возникает в конце моего скрипта.

Какие-либо предложения

<?php if ( $_POST['registerbtn'] ) { //makes sure email, username is valid $getuser = $_POST['user']; $getemail = $_POST['email']; $getpass = $_POST['pass']; $getretypepass = $_POST['retypepass']; if (!isset($getuser)) { $error = "user not set "; } if ($getuser) { if($getemail) { if($getpass) { if ($getretypepass) { require("connection.php"); $query = mysql_query("SELECT * FROM users WHERE username ='$getuser'"); $numrows = mysql_num_rows($query); if ($numrows == 0) { $query = mysql_query("SELECT * FROM users WHERE email ='$getemail'"); $numrows = mysql_num_rows($query); if ($numrows == 0) { $password = md5(md5("19Dvdnj".$password."jndfFf20")); $date = date("F d, Y"); $code = md5(rand()); mysql_query("INSERT INTO users VALUES ('', '$getuser', '$password', '$getmail', '0', '$code', '$date')"); $query = mysql_query("SELECT * FROM users WHERE username='$getuser'"); $numrows =mysql_num_rows($query); if ($numrows == 1) { $site ="http://www.inn.leedsmet.ac.uk/~c3314283/iis/register.php"; $webmaster = "admin@leedsmet.com"; $headers = "From: $webmaster"; $subject ="Activate your Account"; $message = "Thanks for registering. Click below to activate your account.\n"; $message .= "$site/activate.php?user=$getuser&code=$code"; $message .= "You must activate your account to login"; if (mail($getmail, $subject, $message, $headers)){ $errormsg = "You have been registered you must activate your account sent from the the activation link sent to<b>$getemail</b>"; $getuser = ""; $getemail = ""; } mysql_close(); $form ="<form action='register.php' method='post'> <table> <tr> <td></td> <td><font color='red'>$errormsg</font></td> </tr> <tr> <td>Username:</td> <td><input type='text' name='user' value ='$getuser'/></td> </tr> <tr> <td>Email:</td> <td><input type='text' name='email' value ='$getemail'/></td> </tr> <tr> <td>Password:</td> <td><input type='password' name='pass' value =''/></td> </tr> <tr> <td>Retype:</td> <td><input type='password' name='retypepass' value =''/></td> </tr> <tr> <td></td> <td><input type='submit' name='registerbtn' value ='Register'/></td> </tr> </table> </form>"; { echo $form; } ?> 

Попробуйте автоформировать (авто-отступ) свой код. Если у вас нет редактора, который позволяет это, получите один такой, как Sublime Text или Notepad ++ . 🙂 Это сэкономит вам много времени в подобных ситуациях; вместо того, чтобы пытаться найти проблему в таких ситуациях, после того, как проблемы с автоформацией будут смотреть на вас. 🙂

Я считаю, что вам не хватает шести закрывающих скобок } (не уверен, что я подсчитал количество незакрытых, if правильно) после

 { echo $form; } 

Очевидно, что если это так, произошло что-то ужасно неправильное, и может потребоваться больше, чем положить некоторые из них, чтобы исцелить ваш код.

Это может быть проблема с копией и вставкой. Возможно, вы не скопировали последние несколько строк кода, который вы нашли в учебнике Youtube, который вы упомянули.

Использование любого редактора кода с подсветкой синтаксиса (например, Notepad ++) ясно покажет вам, что вам не хватает } .