1 php
注意:未定义的索引:第12行的C:\ wamp\www\espn.com\registration.php中的名称
注意:未定义的索引:第13行的C:\ wamp\www\espn.com\registration.php中的用户名
注意:第14行的C:\ wamp\www\espn.com\registration.php中的未定义索引:密码很抱歉,您已经指定了您指定的用户名.请选择另一个.
编码
<html>
<body>
<?php
$dbhost = "localhost";
$dbname = "users";
$dbuser = "root";
$dbpass = "*******";
mysql_connect ($dbhost,$dbuser,$dbpass)or die("Could not connect: ".mysql_error());
mysql_select_db($dbname) or die(mysql_error());
$name = $_POST['name'];
$username = $_POST['username'];
$password = md5($_POST['password']);
$checkuser = mysql_query("SELECT username FROM users WHERE username='$username'");
$username_exist = mysql_num_rows($checkuser);
if($username_exist > 1){
echo "I'm sorry but the username you specified has already been taken. Please pick another one.";
unset($username);
include 'registration.html';
exit();
}
$query = "INSERT INTO users (name,username, password)
VALUES('$name','$username', '$password')";
mysql_query($query) or die(mysql_error());
mysql_close();
echo "You have successfully registered";
?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这意味着$ _POST ['name'],$ _POST ['username']和$ _POST ['password']不存在.当您访问registration.php(或字段名称错误)时,您的表单很可能无法提交.
在PHP中,您必须确保在使用之前设置要使用的每个字段.您可以使用!empty或isset函数.
此外,您的脚本容易受到SQL注入攻击,请查看mysql_real_escape_string函数.和你的条件是错误的:如果你想知道,如果用户名已经存在,你应该检查它是否大于0,而不是1也可以使用,而不是选择一排COUNT(*)查询.