Я пытаюсь создать страницу регистрации учетной записи, и когда я добавляю систему для проверки базы данных и удостоверяюсь, что нет нескольких строк с одинаковым именем пользователя, я получаю ошибку 500.
Вот код, который работает:
<?php if(isset ($_POST['submit'])) { include( 'connection.php' ); $username = $_POST['username']; $password = $_POST['password']; $email = $_POST['email']; if(empty($username) || empty($email) || empty($password)) { echo 'Please check the required fields.'; } elseif(!filter_var($email,FILTER_VALIDATE_EMAIL)) { echo 'Please enter a correct email address.'; } else { $password = md5($password); $sql = mysql_query("INSERT INTO users (email,username,password) VALUES ('$email','$username','$password')") or die(mysql_error()); if($sql) { echo 'Successfully submitted.'; } } } ?>
Вот код, который дает мне ошибку 500:
<?php error_reporting(E_ALL) if(isset ($_POST['submit'])) { include( 'connection.php' ); $username = $_POST['username']; $password = $_POST['password']; $email = $_POST['email']; $fetch = mysql_query("SELECT * FROM users WHERE username = '$email'") or die(mysql_error(); $num_rows = mysql_num_rows($fetch); if(empty($username) || empty($email) || empty($password)) { echo 'Please check the required fields.'; } elseif(!filter_var($email,FILTER_VALIDATE_EMAIL)) { echo 'Please enter a correct email address.'; } elseif($num_rows >= 1); { echo 'This username is taken.'; else } $password = md5($password); $sql = mysql_query("INSERT INTO users (email,username,password) VALUES ('$email','$username','$password')") or die(mysql_error()); if($sql) { echo 'Successfully submitted.'; } } } ?>
Вы пропустили полуколонну с вашего первого заявления
Возможно, добавьте полуколону:
error_reporting(E_ALL);
РЕДАКТИРОВАТЬ:
Вам также не хватает a )
на die(mysql_error();
Удалите ;
from elseif($num_rows >= 1);
А затем исправьте свой блок } else {
у тебя есть
else }
в вашем коде. Это синтаксическая ошибка. Ты ищешь
} else {
вместо.