MrLincomins
@MrLincomins

Как прочитать и сравнить данные из .txt с введёнными из формы?

Здравствуйте, если я имею в текстовом файле данные пользователей (пароль, имя)?
Например, в текстовом файле user.txt содержится такой формат данных:
Данил||43233
Тимур||2121289
Данил - имя, 43233-пароль.
Как мне сделать так чтобы данные считывались и проверялись с введёнными значениями имени и пароля?
Код Reg.php:
<form method="POST" action="auth.php">
Имя: <input type="text" name="usr" />
Пароль: <input type="password" name="pwd" />
<br/>
<button type="submit"">Зарегистрироваться</button>
</form>

Код записи данных в текстовый файл auth.php

<?php
$uname=$_POST['usr'];
$pass=$_POST['pwd'];
$result = "$uname||$pass";
$file = fopen("user.txt", "a");
echo fwrite($file,$result."\r\n");
fclose($file);
print "Данные успешно записаны"
?>

Вход на сайт ещё не придумал из-за этих трудностей, пожалуйста накиньте идей как мне прочитать и сравнить данные введённые уже когда входишь в сайт.
Заранее всех благодарю
  • Вопрос задан
  • 268 просмотров
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
$result = "$uname||$pass"; //данные которые ввели

$match = null;
//считываем файл построчно и ищем совпадение
//если совпадение найдено - записываем результат в $match и прекращаем сканирование файла
$fp = fopen("user.txt", "r+");
while (($line = stream_get_line($fp, 1024 * 1024, "\n")) !== false) {
    if(trim($line) === trim($result)) {
        $match = trim($line);
        break;
    }
}
fclose($fp);

if(!empty($match)) {
    echo "Найдено совпадение - {$match}";
} else {
    echo "Ничего не найдено";
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы