Привет, я посмотрел на другие сообщения об этом, но им 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">
Я знаю, что мне нужно использовать функцию explode, и мне нужно определить, как будет установлен текстовый файл. в идеале имя пользователя | пароль. в файле с именем users.txt Файл пользователя также должен содержать информацию, такую как адрес электронной почты (может заменить имя пользователя), имя клиента, название компании (клиента) и специальные цены для участников.
Допустим, ваш текстовый файл выглядит примерно так:
pete|petepass|pete@somesite.com|Pete Enterprizes john|johnpass|john@somedomain.com|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>"; }