我有注册代码(也使用数据库)。当我在表单中输入信息并提交时,什么都不会发生。任何帮助都将不胜感激!谢谢。
-after,我修复了这个问题,希望我能登录!
register.php
<!doctype html>
<html>
<head>
<title>Register</title>
</head>
<body>
<p><a href="register.php">Register</a> | <a href="login.php">Login</a></p>
<h3>Registration Form</h3>
<form action="" method="POST">
Username: <input type="text" name="user"><br />
Password: <input type="password" name="pass"><br />
<input type="submit" value="Register" name="submit" />
</form>
<?php
if(isset($_POST["submit"])){
if(!empty($_POST['user']) && !empty($_POST['pass'])) {
$user=$_POST['user'];
$pass=$_POST['pass'];
$con=mysqli_connect('localhost','root','') or die(mysqli_error());
mysqli_select_db('database') or die("cannot select DB");
$query=mysqli_query("SELECT * FROM login WHERE username='".$user."'");
$numrows=mysqli_num_rows($query);
if($numrows==0)
{
$sql="INSERT INTO login(username,password) VALUES('$user','$pass')";
$result=mysqli_query($sql);
if($result){
echo "Account Successfully Created";
} else {
echo "Failure!";
}
} else {
echo "That username already exists! Please try again with another.";
}
} else {
echo "All fields are required!";
}
}
?>
</body>
</html>数据库信息:
CREATE TABLE IF NOT EXISTS `login` (
`username` varchar(200) NOT NULL,
`password` varchar(200) NOT NULL,
PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8_general_ci;发布于 2016-05-07 00:38:33
阅读以下两方面的手册:
mysqli_select_db() => http://php.net/manual/en/mysqli.select-db.phpmysqli_query() => http://php.net/manual/en/mysqli.query.php这就是你的代码失败的原因。两者都需要一个db连接,并且作为第一个参数,它们都在其中。
此外,mysqli_error()还要求将db连接作为参数传递。
mysqli_error() => http://php.net/manual/en/mysqli.error.php同时根据查询检查错误;您没有这样做。
关于你的联系。
您实际上可以完全摆脱mysqli_select_db(),只需使用mysqli_connect()中的所有4个参数即可。
手册中的示例:
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");密码
我还注意到,您可能正在以纯文本存储密码。这是不建议的。
使用下列之一:
password_hash()函数。关于列长的重要侧边:
如果您决定使用password_hash()或兼容性包(如果PHP < 5.5),那么重要的是要注意,如果您当前密码列的长度小于60,则需要将其更改为此(或更高)。手册显示长度为255。
您将需要更改列的长度,并重新使用新的散列以使其生效。否则,MySQL将悄悄地失败。
其他感兴趣的联系:
https://stackoverflow.com/questions/37083225
复制相似问题