Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Сравнение с данными из txt файла
Проблема в том, что возвращает только "password OK"
Если создать массив вручную, с теми же данными, что и в файле, то все проходит "на ура". Это навевает на мысль, что в файл пишутся еще какие-то невидимые спецсимволы. Вот только как их убрать, или хотя бы увидеть...
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Мега-код!!! Хит просто!!!
Все что вы написали - полный изврат над логикой..
Не обижайтесь...
Если вам будет нужно - напишу ваше решение в правильном виде.
Но я бы на вашем месте сел и подумал сам еще разок - зачем мы делаем те или иные действия в скрипте...
Покинул форум
Сообщений всего: 143
Дата рег-ции: Окт. 2010
Помог: 3 раз(а)
Да я не обижаюсь, потому как только учусь А это одно из заданий (регистрация пользователей с хранением в txt , а так же авторизация). Правда сама функция авторизации другая, тут только для примера привел, чтоб выявить проблему.
За меня писать не нужно, хочу просто чтоб объяснили в чем проблема
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Помог: 16 раз(а)
Используйте лучше json или xml для хранения данных, всяко лучше будет.
----- армия.. самое убогое место
DeepVarvar
Отправлено: 16 Марта, 2011 - 22:30:28
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
А проблема я сказал в чем - в логике...
Во первых хранить в "базе" одного и более пользователей,
удобнее не на каждой строке по параметру (как сейчас у вас),
а сделать на одной строке данные об одном пользователе.
Для этого нужен сепаратор. Пусть он будет у нас таким: "f6d6"
В реальности сепаратор, длинной менее 32 символов будет плох,
т.к. повторить его не составит труда, и строку мы не распарсим.
Итак, данные в файле:
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
demot пишет:
Проблема в том, что возвращает только "password OK"
а что она должна возвращать если в функции нету return`a ?
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
demot
Отправлено: 17 Марта, 2011 - 06:15:30
Частый гость
Покинул форум
Сообщений всего: 143
Дата рег-ции: Окт. 2010
Помог: 3 раз(а)
OrmaJever пишет:
а что она должна возвращать если в функции нету return`a ?
Ну оговорился, не возвращает, а выводит на экран с помощью echo, там их два
DeepVarvar пишет:
Во первых хранить в "базе" одного и более пользователей,
удобнее не на каждой строке по параметру (как сейчас у вас),
а сделать на одной строке данные об одном пользователе.
Для этого нужен сепаратор. Пусть он будет у нас таким: "f6d6"
В реальности сепаратор, длинной менее 32 символов будет плох,
т.к. повторить его не составит труда, и строку мы не распарсим.
Я кстати тоже сначала хотел делать все все в одной строке, даже в принципе и начинал так делать, но не смог потом эту строку нормально разделить
В общем всем большое спасибо! (Добавление)
Хоть эта строчка в принципе не нужна
Но все же, почему-то она не срабатывает. И по идее она должна быть до break;. Но суть дела не меняет, почему-то она массив не хочет показывать, а вот print_r($u); его выводит.
Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2011 Откуда: Ganduras
Помог: 0 раз(а)
Хранить данные в $file=file("users.txt");
так любой может сграбить все файлы с сайта.
Какой смысл в пароли или логине ?
Выкеньте эту идею из головы, время будет потраченно впустую,
вам правильно посоветовал DeepVarvar используйте Базу
demot
Отправлено: 17 Марта, 2011 - 18:36:18
Частый гость
Покинул форум
Сообщений всего: 143
Дата рег-ции: Окт. 2010
Помог: 3 раз(а)
sebastjan пишет:
Хранить данные в $file=file("users.txt");
так любой может сграбить все файлы с сайта.
Какой смысл в пароли или логине ?
Выкеньте эту идею из головы, время будет потраченно впустую,
вам правильно посоветовал DeepVarvar используйте Базу
А еще я во 2-м своем посте написал:
"Да я не обижаюсь, потому как только учусь. А это одно из заданий (регистрация пользователей с хранением в txt , а так же авторизация)."
JustUserR
Отправлено: 18 Марта, 2011 - 13:07:42
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
sebastjan пишет:
Хранить данные в $file=file("users.txt");
так любой может сграбить все файлы с сайта
Непосредственное использование локального файлового объекта для осуществления хранения предплагаемой информации по авторизации пользователей, при корректной конфигурции не обеспечивает явных аспектов уменьшения уроня безопасности, поскольку для предполагаемых значений паролей возможно хранения ассоциированных MD5-кодов; в то время как спользование целевого файлового объекта осуществялется реальное снижение вычислительное эффективности web-приложения, в сиду необходимости подачи постоянных последовательных запросов к жесткому диску, без обеспечение требуемого элементного локального кеширования информационных полей и их индексации
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.