![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
sveya |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.5.2011 Репутация: нет Всего: нет |
Здравствуйте, помогите подкорректировать скрипт.
Скрипт должен при правильном вводе пароля и логина из БД выдавать "Добро пожаловать", иначе "неверные логин и/или пароль" При работе с БД все отлично работает, но при вводе пустых значений(логина и/или пароля) тоже срабатывает на "Добро пожаловать" В чем прорблема? Присоединённый файл ( Кол-во скачиваний: 63586 ) ![]() |
|||
|
||||
bugmenot1 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 8.5.2008 Репутация: нет Всего: 0 |
☻ Вставляйте свой код в сообщение. Думаете людям заняться больше нечем чем качать ваши архивы, распаковывать и открывать?
|
|||
|
||||
sveya |
|
||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.5.2011 Репутация: нет Всего: нет |
Скрипт
Форма
Сама БД=> CREATE DATABASE `test` ; CREATE TABLE login(id int, name varchar(30)); INSERT INTO login (id, name) values ("1", "adm"); INSERT INTO login (id, name) values ("2", "user"); INSERT INTO login (id, name) values ("3", "user1"); CREATE TABLE pas(id int, pas int); INSERT INTO pas(id, pas) values ("1", "000"); INSERT INTO pas(id, pas) values ("2", "111"); INSERT INTO pas(id, pas) values ("3", "222"); |
||||
|
|||||
NuINu |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 131 Регистрация: 19.7.2008 Репутация: 1 Всего: 6 |
учитесь работать с лог файлами, весь ошибочный вывод должн выводиться в stderr, а он в свою очередь должен быть перенаправлен в лог файл
поэтому вот это должно быть переделано: $sth=$dbh->prepare("SELECT `pas.pas` FROM `pas` ;") || print "ERROR PREPARE!!!"; кроме того ваш код представляет собой идеальную мишень для SQL-injection как только научитесь выводить все в лог файл, выведите туда все что к вам пришло с запросом, и все что вы получили при выполнении SQL запроса, вообщем то вопросы должны отпасть сами собой. |
|||
|
||||
EcSYZ |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 21.6.2007 Репутация: нет Всего: 1 |
Может стоит хотя бы начать с БД, в которой логин и пасс будут в одной таблице, ибо от этого разделения нет никакого толка.
|
|||
|
||||
infarch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 13.3.2009 Репутация: нет Всего: 1 |
Да и CGI неплохо бы освоить вместо ручного ковыряния квери стринга...
|
|||
|
||||
sveya |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.5.2011 Репутация: нет Всего: нет |
Спасибо, у меня получилось!
![]() Только теперь вот нужно сделать, так, чтобы при успешной авторизации, выходило сообщение "Неверный логин и/или пароль" (типа обманывалка) и снова выходила форма для авторизации, но на этот раз в случае правильного ввода, чтоб появлялось сообщение "Добро пожаловать", а иначе "Неверный логин и/или пароль" ![]() ![]() Кстати, вот правильный .cgi для авторизации=>
|
|||
|
||||
sveya |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.5.2011 Репутация: нет Всего: нет |
Пытаюсь написать...по логике вроде построено правильно, но почему-то при втором разе ввода правильного пароля выдает не "добро подаловать", а заново "авторизация". Что я упустила??
|
|||
|
||||
EcSYZ |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 21.6.2007 Репутация: нет Всего: 1 |
1)предлагаю начать с добавления:
2)в чём заключается тайный смысл step1 и step2, которые делают одно и тоже ? 3)
PS: В случае если никакую инфу получать из БД не надо, то можно заюзать:
Это сообщение отредактировал(а) EcSYZ - 22.5.2011, 12:46 |
||||||
|
|||||||
sveya |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.5.2011 Репутация: нет Всего: нет |
EcSYZ,
"PS: В случае если никакую инфу получать из БД не надо, то можно заюзать"...Что-то не очень поняла, мне нужны логин и пароль из БД и скрипт ваш совсем не понимаю ![]() Задание вот такое-чтобы при успешной авторизации, выходило сообщение "Неверный логин и/или пароль" (типа обманывалка) и снова выходила форма для авторизации, но на этот раз в случае правильного ввода, чтоб появлялось сообщение "Добро пожаловать", а иначе "Неверный логин и/или пароль" с этой целью я ввожу еще и step 2, т.е. при определении существующего id чтоб шло на цикл с step2, но почему-то он туда не заходит.Вот скрипт вроде правильный по логике, но не идет он в step2 и все((
Этот скрипт нельзя никак иначе переделать? для меня ваш скрипт сложен ![]() Это сообщение отредактировал(а) sveya - 22.5.2011, 13:09 |
|||
|
||||
shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
||||
|
||||
sveya |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.5.2011 Репутация: нет Всего: нет |
shamber, а поняла...ток ниче не выходит у меня
![]() |
|||
|
||||
sveya |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.5.2011 Репутация: нет Всего: нет |
получилось, получилось!!!!!!!
![]() |
|||
|
||||
EcSYZ |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 21.6.2007 Репутация: нет Всего: 1 |
Ну я под do подразумевал слегка другой смысл: так как в коде нигде не используется логин, из селекта, то можно просто заюзать do для проверки, есть ли данный юзер с указанным пасом.
Это сообщение отредактировал(а) EcSYZ - 22.5.2011, 17:53 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |