подскажите как можно сделать авторизацию пользователей чтобы логин пароль хранились в текстовом файле
1. есть голова, чтобы думать 2. есть руки, чтобы делать 3. есть функции, чтобы реализовывать авторизация - делов минут на 15. можно взять скрипт авторизации с использованием базы данных и вместо запросов к базе делать считывание из файла. но при этом, возможно, на переделывание уйдёт больше времени, чем на создание с нуля.
та понятно, просто надо именно в текстовом файле чтоб хранилось, просто так требует компания ))) ну я в общем понял, помозговал, щас сам буду сидеть делать)))
admin1|pass1|1 admin2|pass2|2 ------------------ логин пароль id ---------------------- вот такие записи будут в текстовом документе, я так понял мне надо масив создавать, чтоб в масив загонялись эти данные, как мне правильно его создать???ну вот чтоб если админ1=админ1 , пароль = пароль , чтоб вывело цифру id, через базу данных проще, но требуется сделать именно без базы данных
текстовый файл сделай формат *.php PHP: <?php /* ваши данные ваши данные ваши данные тогда его никто из браузера скачать и прочитать не сможет.
Код (Text): admin1|pass1|1 admin2|pass2|2 ------------------ логин пароль id ---------------------- вот такие записи будут в текстовом документе, я так понял мне надо масив создавать, чтоб в масив загонялись эти данные, как мне правильно его создать???ну вот чтоб если админ1=админ1 , пароль = пароль , чтоб вывело цифру id, через базу данных проще, но требуется сделать именно без базы данных
Подскажите пожалуста, как вытянуть данные из текстового документа, как правильно расформатировать??? PHP: admin1|pass1|1 admin2|pass2|2 разделитель тут "|" ну и строчка
1. прочитать файл, скопировать в переменную 2. разбить его по строкам (получим массив, каждая строка - одна запись, или один юзер) 3. разбить каждую строку на инфу - имя юзера, пароль, ид. file_get_contents, explode, циклы.
PHP: $handle = fopen("1.php", "r"); while (!feof($handle)) { $buffer = fgets($handle, 4096); $data = $buffer; list($user, $pass, $uid) = explode("|", $data); if ($user == $login) { if($pass == $pasw) {echo $uid;} } else {echo "неверные данные";} } вот кусочек кода, должно выводить только одну переменную '$uid' а выводит еще и "неверные данные", хотя данные введены верно, в чем ошибка ???
smala если пользователей будет не так уж и много, то легче: - serialize - file_get_contents - file если же файл будет довольно большим, то придётся всё же бегать вручную по строкам: PHP: <?php $login = 'admin0'; $pasw = 'pass0'; $user_id = 0; $file = fopen("pass.txt", "r"); while(!feof($file)){ $data = fgets($file, 1024); list($uid, $user, $pass) = explode('|', $data); if($user == $login && $pass == $pasw){ $user_id = $uid; break; } } if($user_id){ echo 'User is correct'; } else { echo 'User is incorrect'; } pass.txt