正在验证存储在 .txt 文件中的用户名和密码,以便在 PHP 中登录
Verifying username and password stored in .txt file for login in PHP
因此对于作业(因此我将用户名和密码存储在 .txt 文件中),我需要创建一个登录页面,用户可以在其中输入他的用户名和密码。如果用户名和密码包含在 login.txt 文件中,"form" 将被发送到 sessionOpen.php 文件以进行处理。
这是我的 sessionOpen.php 代码:
<?php
$myFile = "login.txt";
$contents = file_get_contents($myFile);
$contents = explode("\n", $contents);
foreach($contents as $values){
$loginInfo = explode(":", $values);
$user = $loginInfo[0];
$password = $loginInfo[1];
if($user == $_POST['username'] && $password == $_POST['password']){
session_start();
header('Location: browse.php');
}
else{
echo '<script>alert("Please verify your username and password.");</script>'
}
}
?>
在 login.txt 文件中,用户名和密码遵循 user1:password1
的格式,因此 explode(":", $values)
因此,通常应该创建一个会话,以便用户现在可以访问网站上被锁定给拥有帐户的人的页面。代码不工作。
如果对您有帮助,请使用以下表格:
<form action="sessionOpen.php" method="post">
<h2>Username:</h2><input type="text" id="username"><br>
<h2>Password:</h2><input type="password" id="password"><br>
<input type="submit" value ="submit">
<input type="reset" value ="reset">
</form>
您的输入需要名称。
$_POST['username']
例如将从具有 name='username'
的输入发送,因为 none 的输入具有名称,表单未提交任何数据。
大多数浏览器都有控制台,可让您检查传递的数据。这些对于编码形式很方便。
来自评论的注释:
- 您还缺少
else
中的结尾分号。
- 错误报告也是一个方便的工具,可以帮助您解决此类问题。您可以通过将这些行添加到 php 脚本的顶部来打开它:
error_reporting(E_ALL); ini_set("display_errors", 1);
因此对于作业(因此我将用户名和密码存储在 .txt 文件中),我需要创建一个登录页面,用户可以在其中输入他的用户名和密码。如果用户名和密码包含在 login.txt 文件中,"form" 将被发送到 sessionOpen.php 文件以进行处理。
这是我的 sessionOpen.php 代码:
<?php
$myFile = "login.txt";
$contents = file_get_contents($myFile);
$contents = explode("\n", $contents);
foreach($contents as $values){
$loginInfo = explode(":", $values);
$user = $loginInfo[0];
$password = $loginInfo[1];
if($user == $_POST['username'] && $password == $_POST['password']){
session_start();
header('Location: browse.php');
}
else{
echo '<script>alert("Please verify your username and password.");</script>'
}
}
?>
在 login.txt 文件中,用户名和密码遵循 user1:password1
的格式,因此 explode(":", $values)
因此,通常应该创建一个会话,以便用户现在可以访问网站上被锁定给拥有帐户的人的页面。代码不工作。
如果对您有帮助,请使用以下表格:
<form action="sessionOpen.php" method="post">
<h2>Username:</h2><input type="text" id="username"><br>
<h2>Password:</h2><input type="password" id="password"><br>
<input type="submit" value ="submit">
<input type="reset" value ="reset">
</form>
您的输入需要名称。
$_POST['username']
例如将从具有 name='username'
的输入发送,因为 none 的输入具有名称,表单未提交任何数据。
大多数浏览器都有控制台,可让您检查传递的数据。这些对于编码形式很方便。
来自评论的注释:
- 您还缺少
else
中的结尾分号。 - 错误报告也是一个方便的工具,可以帮助您解决此类问题。您可以通过将这些行添加到 php 脚本的顶部来打开它:
error_reporting(E_ALL); ini_set("display_errors", 1);