我正在测试新的东西在PHP中,但有困难的时候我的PHP代码有什么问题。 因此,基本上当我输入正常注册登录只有字符,我的PHP会抛出msg“注册=无效”,即代码中的第18行。请帮忙。PHP注册系统
<?php
if (isset($_POST['submit'])) {
include_once 'dbc.php';
$login = mysqli_real_escape_string($conn, $_POST['login']);
$pwd = mysqli_real_escape_string($conn, $_POST['pwd']);
//Error handler
//Check for empty fields
if (empty($login) || empty($pwd)) {
header("Location: register.php?signup=empty");
exit();
} else {
//Check if input characters are valid
if (preg_match("/^[a-zA-Z]*$/", $first)) {
header("Location: register.php?signup=invalid");
exit();
} else {
$sql = "SELECT * FROM user WHERE name='$login'";
$result = mysqli_query($conn, $sql);
$resultCheck = mysqli_num_rows($result);
if ($resultCheck > 0) {
header("Location: register.php?signup=nametaken");
exit();
} else {
//hash
$hashedPwd = password_hash($pwd, PASSWORD_DEFAULT);
//Insert user into database
$sql = "INSERT INTO user (user_login, user_pwd) VALUES ('$login', '$hashedPwd');";
mysqli_query($conn, $sql);
header("Location: register.php?signup=success");
exit();
}
}
}
} else {
header("Location: register.php");
exit();
}
为什么'preg_match'中的'$ first'? –
PHP正在抛出什么错误。可以分享完整的错误文本? –
http://bobby-tables.com还了解SQL注入以及如何防止它们。你的代码不安全。 – Twinfriends