Автор Тема: Скрипт авторизации с несколькими пользователями  (Прочитано 4653 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн agressor

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вот при освоении пхп у меня возникла проблема - не могу написать скрипт, чтоб пользователи могли авторизоваться... Вот, допустим у меня есть некий файл с именами и паролями ( в соотношении ИМЯ:::ПАРОЛЬ)... Сколько я не бьюся с этим сценарием, все равно он не хочет меня авторизовывать хоть ты тресни... Не могли бы вы, опытные скриптовальщики, написать пару строк, помочь мне (лишь авторизация, написать скрипт, чтоб файл писались эти логины и пароли я сам смогу)
Заранее благодарю...:beer:

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru

$file 
file("auth.dat");
for (
$i 0$i sizeof($file); $i++) {
    
$line explode("::"trim($file[$i]));
    if (
$login == $line[0] && $password == $line[1]) {
         
$is_authorized 1;
         break;
    }
}
if (!
$is_authorized) exit("Login or password is incorrect");
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
GotZfild
ты забыл (имхо) в самом начале написать:
$is_authorized 0;

(для защитыы от register_globals = on)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Согласен.
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн agressor

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Спасибо

Оффлайн agressor

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Но мой сценарий (который я писал сам) отличался от этого только тем, что в нем отсутствовала функция trim (), из-за которой он по сути дела и не работал... Вообще характеристика ее такова: "удаление концевых пробелов в строке". Но причем она здесь? Не могли бы объяснить?..

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Ты наверняка тестировал скрипт на Windows. В отличие от Unix, там перевод строки осуществляется двумя символами: переводом каретки и переводом строки ("\\r\\n"), тогда как в Unix только символом новой строки (только "\\n").
Поэтому после explode у тебя строки по сути выглядят так:
login::password\\r
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
GotZfild перестань.
перечитай документацию перед тем, как отвечать :-)
и вопрос заодно :-)

agressor
где ты вычитал такое объяснение? Эта функция удаляет все пробельные символы, в том числе и символ перевода строки, с которым у тебя как раз и не работало.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28