非常简单的用户身份验证php

时间:2018-05-17 05:25:18

标签: php sql login

我是另一个处女编码器,我在创建一个非常非常简单的用户身份验证系统时遇到了麻烦。与最佳实践相反,这是一个小项目,安全性不是问题。

我想创建一个用户名和密码,用于加密并存储在数据库中。然后,登录表单,然后定向到目标页面。我不关心保持登录会话;为了一次访问一个页面,它可以是一个完成的事情。非常简陋,但我仍然无法自拔......

使用来自createuser.html的散列传递的用户输入,FORM.php不会被发送到数据库。

我这里有一些代码......

CREATE ADMIN:

....

    <div class="body-content">
      <div class="module">
        <h1>Create Admin</h1>
        <form class="form" action="form.php" method="post" enctype="multipart/form-data" autocomplete="off">
          <div class="alert alert-error"></div>
          <input type="text" placeholder="User Name" name="username" required />
          <input type="password" placeholder="Password" name="password" required />
          </div>
          <input type="submit" value="Register" name="register" class="btn btn-block btn-primary" />
        </form>
      </div>
    </div>
        
     ....

form.php的

if (!$con)
	{die("Failed to connect to MySQL: " . mysqli_connect_error() ); }


$var_user = $_POST['username'];
$var_pass = $_POST['password'];

//encrypt the password
//Grab the password from form data sent via POST

//encrypt the password
$encPassword = password_hash($var_pass, PASSWORD_DEFAULT);


$query = "INSERT INTO users(id, username, password)
VALUES ('id', '$var_user', '$encPassword')";

if (mysqli_query($con, $query))
	{echo "User created" . "<br>";}
else
	{ die('SQL Error: ' . mysql_error($con) ); }
mysqli_close($con);
?>

LOGIN:

.....
  <form name="login" method="post" action="verify.php">
    <table width="450px">
    <tr>
     <td valign="top">
      <label for="username">Username</label>
     </td>
     <td valign="top">
      <input type="text" name="username" maxlength="100" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top">
      <label for="password">Password</label>
     </td>
     <td valign="top">
      <input type="password" name="password" maxlength="100" size="30">
     </td>
    </tr>
    <tr>
     <td colspan="2" style="text-align:center">
      <input type="login" value="Login" name="Login" class="btn btn-block btn-primary" />
     </td>
    </tr>
    </table>
    </form>
.....

verify.php

<?php

// $encPassword is the hashed password value from our database
// $postPassword is the password from our login form

    if (password_verify($postPassword, $encPassword )) 
{
        echo 'Password is valid!';
    } else {
        echo 'Invalid password.';
    }
    ?>

我知道它并不多,而且我错过了使用已连接用户名检查密码的验证部分。我真的需要一些帮助我的人类朋友。提前谢谢!!!!

0 个答案:

没有答案