数据库未与php连接
我正在尝试用php和mysql制作一个注册系统。我正在尝试将数据库连接到系统,但遇到了我无法理解的错误 我对php和sql都比较陌生,所以任何建议都很好 例如: generatesalt.php(出于安全考虑,可选) php(这个示例不是很安全。我建议您使用PDO。这是一个易于理解的示例。)数据库未与php连接,php,mysql,database,mysqli,Php,Mysql,Database,Mysqli,我正在尝试用php和mysql制作一个注册系统。我正在尝试将数据库连接到系统,但遇到了我无法理解的错误 我对php和sql都比较陌生,所以任何建议都很好 例如: generatesalt.php(出于安全考虑,可选) php(这个示例不是很安全。我建议您使用PDO。这是一个易于理解的示例。) require_once'db.php'; 需要一次“generateSalt.php”; 如果(!empty($\u POST['login'])和!empty($\u POST['password']
require_once'db.php';
需要一次“generateSalt.php”;
如果(!empty($\u POST['login'])和!empty($\u POST['password'])和!empty($\u POST['password\u confirm'])){
$login=$_POST['login'];
$password=$_POST['password'];
$password\u confirm=$\u POST['password\u confirm'];
如果($password==$password\u confirm){
$query='SELECT*FROM user WHERE login=“”.$login.”;
$is_login_free=mysqli_query($link,$query);
$login\u free=mysqli\u fetch\u assoc($is\u login\u free);
if(空($login_free)){
$salt=生成salt();
$saltedpassword=md5($password.$salt);
$query=“插入到`user`(`login`、`password`、`salt`)值(`login`、`saltedpassword`、`salt')”;
$result=mysqli\u查询($link,$query);
echo“您已成功注册”;
回声“
”;
回显“登录:”;
回声“
”;
回声“家:”;
}否则{
回显“登录正忙”;
}
}否则{
回显“密码不匹配”;
}
}否则{
标题(“位置:/”;
退出();
}
形式
注册
该答案可能重复,或者该答案不能直接回答帖子中的问题。
function generateSalt()
{
$salt = '';
$saltLength = 8;
for($i=0; $i<$saltLength; $i++) {
$salt .= chr(mt_rand(33,126)); //character from ASCII-table
}
return $salt;
}
$dbname = 'test';
$localhost = 'localhost';
$login = 'root';
$pass = '';
$link = @mysqli_connect($localhost, $login, $pass, $dbname);
if (!$link) {
echo "Problem, error code: " . mysqli_connect_errno();
exit;
}
require_once 'db.php';
require_once 'generateSalt.php';
if ( !empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['password_confirm']) ) {
$login = $_POST['login'];
$password = $_POST['password'];
$password_confirm = $_POST['password_confirm'];
if ($password == $password_confirm) {
$query = 'SELECT*FROM user WHERE login="'.$login.'"';
$is_login_free = mysqli_query($link, $query);
$login_free = mysqli_fetch_assoc($is_login_free);
if (empty( $login_free)) {
$salt = generateSalt();
$saltedpassword = md5($password.$salt);
$query = "INSERT INTO `user` (`login`, `password`, `salt`) VALUES ('$login', '$saltedpassword', '$salt')";
$result = mysqli_query($link, $query);
echo 'You have successfully registered';
echo '<br>';
echo 'Sign in: <a href="/login.php">Click</a>';
echo '<br>';
echo 'Home: <a href="/">Click</a>';
} else {
echo 'The login is busy';
}
} else {
echo 'Passwords do not match';
}
} else {
header("Location: /");
exit();
}
<h1>Sign up</h1>
<form action="/reg.php" method="post">
<input type="text" name="login" required><br>
<input type="password" name="password" required><br>
<input type="password" name="password_confirm" required><br><br>
<input type="submit" value="Create an account">
</form>