作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 PHP 新手,已经编写了一个 PHP 注册页面,它工作正常,可以为新用户添加到数据库。但是当添加重复的用户名时,不会出现错误消息。我是否遗漏了任何代码或者我需要更改代码吗?
我的代码:
<?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'login');
define('DB_USER','root');
define('DB_PASSWORD','');
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());
function NewUser()
{
$username = $_POST['username'];
$password = $_POST['password'];
$firstname = $_POST['firstname'];
$surname = $_POST['surname'];
$query = "INSERT INTO users (username, password, firstname, surname) VALUES ('$username', '$password', '$firstname', '$surname')";
$data = mysql_query ($query)or die(mysql_error());
if($data)
{
echo "YOUR REGISTRATION IS COMPLETED, YOU CAN SIGN IN NOW";
}
}
function SignUp()
{
if(!empty($_POST['username']))
{
$query = mysql_query("SELECT * FROM users WHERE username = '$_POST[username]' AND password = '$_POST[password]'") or die(mysql_error());
if(!$row = mysql_fetch_array($query) or die(mysql_error()))
{
newuser();
}
else
{
echo "SORRY, YOU ARE ALREADY REGISTERED USER.";
}
}
}
if(isset($_POST['submit']))
{
SignUp();
}
?>
最佳答案
由于您是新手,您不妨放弃 MySQL_
语句并使用更安全的内容,例如 MySQLi_
或 PDO。这不会禁止您使用数据库,它们只是更安全。
另外:$row
未定义。
再一次,因为您是新手,我建议您使用一个可以对代码进行缩进的编辑器。缩进使您的代码更具可读性,并在您遇到此类问题时帮助其他人帮助您。
关于php - 错误消息不适用于 PHP 用户检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24169916/
我是一名优秀的程序员,十分优秀!