php - 如何通过 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 代码中使用 POST 方法,但在 HTML 上缺少表单的方法属性。
- 最重要的是,您添加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>
推荐阅读
- c# - SQLite 和 LINQ:“成员访问无法编译表达式”(WHERE 条件)
- python - 使用列表推导从字典创建字典列表
- google-chrome-extension - 为什么 chrome 扩展清单 v3 在没有 cookie 的情况下向主机发送请求?
- reactjs - setState 更新但值未保留
- artillery - Artillery.io - 每个流可以发送的请求数量是否有限制?
- python - 根据 ID 将嵌套的 JSON 文件拆分为两个 JSON?
- excel - 如果它是 csv 文件中的数字,则从单元格中删除最后一个单词
- azure - Orchestrator 功能的功能是否依赖于活动功能
- apache-spark - Spark Shell 命令在本地失败
- sql - mssql UPDATE 命令并不总是更新 node.js