首页 > 解决方案 > 如何通过 PHP 文件手动分配用户密码

问题描述

我是新用户,我有一个简单的问题。如何为用户设置密码以使用 PHP 登录我的网站?我没有 MySQL 数据库,只有一个 iOS 代码/主机应用程序。我知道这不是最安全的选择,但只有我和我的朋友在网站上,所以没关系。我尝试了以下方法:

$password = [
           'john'   => 'password1',
           'paul'   => 'password2',
           'george' => 'password3',
           'robert'  => 'password4'
        ];
        
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $pass = $password[ $_POST['username'] ];
    if (password_verify($_POST['password'], $pass)) {
        echo "Log in successful<br>";
    }
    else {
        echo "Invalid log in<br>";
    }
}

这是我的 HTML 登录表单代码供参考:

<body>    
    <center> <h1>Login</h1> </center>   
    <form>
        <div class="container">   
            <label>Username:</label>   
            <input type="text" placeholder="Enter Username" name="" required>  
            <label>Password:</label>   
            <input type="password" placeholder="Enter Password" name="" required>  
            <button type="submit">Login</button>   
            <input type="checkbox" checked="checked"> Remember me   
            <button type="button" class="cancelbtn"> Cancel</button>   
            <a href="">Forgot password?</a>
        </div>   
    </form>
</body>     
</html>

但它没有用......所以任何帮助表示赞赏。

标签: php

解决方案


我希望你身体健康。您的代码中有很多问题。我补充几点。

  1. 您没有在输入字段中将用户名和密码设置为名称。
  2. 您在 PHP 代码中使用 POST 方法,但在 HTML 上缺少表单的方法属性。
  3. 最重要的是,您添加password_verify条件的方式不正确。

您可以使用以下代码。我已经测试过了。

<?php
$password = [
    'john'   => 'password1',
    'paul'   => 'password2',
    'george' => 'password3',
    'robert'  => 'password4'
];
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
    $pass = @$password [ $_POST['username'] ];
    if (!isset($pass))
    {
        echo "Invalid log in<br>";
    }
    else
    {
        if ($_POST['password'] == $pass)
        {
            echo "Log in successful<br>";
        }
        else
        {
            echo "Invalid log in<br>";
        }
    }
}
?>

<body>    
    <center> <h1>Login</h1> </center>   
    <form action="" method="POST">
        <div class="container">   
            <label>Username:</label>   
            <input type="text" placeholder="Enter Username" name="username" required>  
            <label>Password:</label>   
            <input type="password" placeholder="Enter Password" name="password" required>  
            <button type="submit">Login</button>   
            <input type="checkbox" checked="checked"> Remember me   
            <button type="button" class="cancelbtn"> Cancel</button>   
            <a href="">Forgot password?</a>
        </div>   
    </form>
</body>     
</html>

推荐阅读