Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数据库未与php连接_Php_Mysql_Database_Mysqli - Fatal编程技术网

数据库未与php连接

数据库未与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']

我正在尝试用php和mysql制作一个注册系统。我正在尝试将数据库连接到系统,但遇到了我无法理解的错误

我对php和sql都比较陌生,所以任何建议都很好

例如:

generatesalt.php(出于安全考虑,可选)

php(这个示例不是很安全。我建议您使用PDO。这是一个易于理解的示例。)

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>