php - 数据库未与 php 连接
问题描述
我正在尝试用 php 和 mysql 制作一个注册系统。我正在尝试将数据库连接到系统,但遇到了我不理解的错误。
我对 php 和我的 sql 都比较陌生,所以任何建议都会很棒。
解决方案
例如:
generatealt.php(可选,为了安全起见)
function generateSalt()
{
$salt = '';
$saltLength = 8;
for($i=0; $i<$saltLength; $i++) {
$salt .= chr(mt_rand(33,126)); //character from ASCII-table
}
return $salt;
}
数据库.php
$dbname = 'test';
$localhost = 'localhost';
$login = 'root';
$pass = '';
$link = @mysqli_connect($localhost, $login, $pass, $dbname);
if (!$link) {
echo "Problem, error code: " . mysqli_connect_errno();
exit;
}
reg.php(这个例子不是很安全,我建议你使用PDO。这是一个容易理解的例子。)
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>
推荐阅读
- css - 如何保存css代码中包含的所有图像?
- reactjs - react-native firebase 检索用户
- google-compute-engine - Google Cloud CoreOS OEM 差异
- android - 颤动的问题溢出
- android - onBackPressed 片段转到另一个片段,而不是在关闭应用程序时
- ruby - Ruby 默认为以前的版本
- laravel - 显示 ERR_TOO_MANY_REDIRECTS 的客户中间件
- c++ - 结构或类中的友元函数
- javascript - 如何将标头传递给获取请求?
- python-3.x - 这个功能(季节)运行时间太长,为什么?以及如何改进代码?