Задать вопрос

Как читать файл средствами php?

У меня есть файл с пользователями:
Login | Password
admin | 123456
user | 321123

И есть форма:
<form method="post">
    <input type="text" name="login" placeholder="Логин">
    <input type="password" name="password" placeholder="Пароль">
    <button>Войти</button>
</form>

И мне нужно проверить есть ли такой пользователь. Как?

PS Базу не использую, потому, что в моём случае это не практично.
  • Вопрос задан
  • 217 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
glebovgin
@glebovgin
Full Stack Web Developer
Вот простой код:
$auth_arr = file('logins.txt');
$auth = FALSE;
$_POST['login'] = 'user'; // получаете из формы
$_POST['password'] = '321123'; // получаете из формы

foreach( $auth_arr as $line ) 
{
	list($login, $password) = explode(' | ', trim($line));
	
	if ($_POST['login'] == $login && $_POST['password'] == $password) 
	{
		$auth = TRUE;
		break; // прерываете foreach
	}
}

echo ($auth === TRUE ? 'Success' : 'Fail');


Важные моменты:
- вы выбрали сомнительный способ хранения авторизационных данных
- если уж хотите работать с файлом, то храните не открытые пароли, а хэши
- не забудьте обработать $_POST данные перед использованием
- следите, чтобы разделитель " | "в файле был всегда одинаковым и желательно, чтобы он не мог повлиять на факт авторизации
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
file_get_contents
Ответ написан
Комментировать
gds1
@gds1
Пыха - это наше всё)))
берем данные из поля логин, открываем файл и ищем вхождение по этой переменной. если оно есть значит такой пользователь присутствует.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы