您好,我有一个函数可以检查我的注册详细信息是否在数据库中不匹配,如果匹配,则返回代码。
但是每次我返回代码时,我的 HTML 都不会加载,因为它会阻止它加载。由于某些特定原因,我希望 HTML 始终位于 PHP 代码下(我希望错误显示在表单上,而不是在下)。
这是我的功能的一个例子:
function check_available($name, $password, $email)
{
global $pdo;
$check_user = $pdo->prepare("SELECT * FROM users WHERE user_name = :username LIMIT 1");
$check_user->execute( array(':username' => $name) );
$check_email = $pdo->prepare("SELECT * FROM users WHERE user_email = :email LIMIT 1");
$check_email->execute( array(':email' => $email) );
$error = '';
if ($check_user->rowCount())
{
$error .= 'Username already exists!';
return handle_errors($error);
}
else if($check_email->rowCount() && !$check_user->rowCount())
{
$error .= 'Email already exists!';
return handle_errors($error);
}
else
{
return true;
}
}
if (isset($_POST['submit']))
{
$check_in = check_available($name, $password, $email);
if ($check_in == true)
{
echo 'Created account sucessfully!';
}
}
?>
<html>
<form action="register.php" method="POST">
Username: <input type="text" name="username"><br />
Password: <input type="password" name="password"><br />
Email: <input type="text" name="email"><br />
<input type="submit" name="submit">
</form>
</html>
提交后,(用户名已在数据库中匹配),HTML 将隐藏并显示错误。
我该如何防止这种情况?有什么诀窍吗?