来自文本文件的PHP登录

问题描述 投票:4回答:2

嗨,我看过其他有关此内容的文章,但是它们已经有2年或2年以上的历史了,所以我认为最好重新开始。

如标题所示,我正在尝试使用php创建登录页面。用户应该能够登录到特殊会员专用页面。用户名和密码存储在文本文件中(请注意,这是用于分配,否则我将使用SQL)。我的代码在下面

  ?php

  echo "Username: <input type=\"text\" name=\user-name\"><br>";
 echo "Password: <input type=\"text\" name=\pass-word\"><br>";
 echo "<input type=\"submit\" value=\"login\" name=\"login\"><br>";

$userN = $_POST['user-name'];
$passW = $_POST['pass-word'];
$userlist = file ('users.txt');
$checkUser =$userlist[0];

if (isset($_POST['login']))
{
if ($userN == $userlist)
{
    echo "<br> Hi $user you have been logged in. <br>";
}
else
{
echo "<br> You have entered the wrong username or password. Please try again. <br>";
}
}
?>
<form action="login.php" method="post">
Username: <input type="text" name="username">
<br />
Password: <input type="password" nme="pass"
<br />
<input type="submit" name="submitlogin" value="Login">

我知道我需要使用爆炸功能,并且需要定义如何设置文本文件。理想情况下,用户名|密码。在名为users.txt的文件中,用户文件还必须包含信息,例如电子邮件(可以替换用户名),客户名称,(客户的)公司名称以及会员的特价。

php login text-files
2个回答
1
投票

可以说您的文本文件看起来像这样:

pete|petepass|[email protected]|Pete Enterprizes
john|johnpass|[email protected]|John Corporation

您的代码可以读取如下内容:

$userN = $_POST['user-name'];
$passW = $_POST['pass-word'];
$userlist = file ('users.txt');

$email = "";
$company = "";

$success = false;
foreach ($userlist as $user) {
    $user_details = explode('|', $user);
    if ($user_details[0] == $userN && $user_details[1] == $passW) {
        $success = true;
        $email = $user_details[2];
        $company = $user_details[3];
        break;
    }
}

if ($success) {
    echo "<br> Hi $userN you have been logged in. <br>";
} else {
    echo "<br> You have entered the wrong username or password. Please try again. <br>";
}

0
投票

仅读取该行的最后一行

© www.soinside.com 2019 - 2024. All rights reserved.