正在验证存储在 .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);