Forum Webscript.Ru
Программирование => PHP => Тема начата: Pavel199 от 16 Июля 2004, 20:00:53
-
Ситуация такая: пользователь(зарегистрировавшийся в базе данных) вводит свой логин и пароль, затем эти данные отправляются на страницу(к примеру auth.php) В этой странице осуществляется связь с базой MySQl. Какое содержание должна иметь строка запроса????
Т.Е. чтобы пользователь авторизировался (введя свой логин и пароль) какой должна быть строка запроса($query = “ ”) к Mysql???
-
Pavel199:
чтобы пользователь авторизировался
чтобы пользователь авторизовался, недостаточно проверить введенные в форму логин и пароль.
Надо еще заставить браузер идентифицироваться с каждым запросом.
ты об этом подумал?Pavel199:
должна быть строка запроса
сккажи, а ты вообще с mysql работал?
тебе надо составить запрос, где запрашивается строка, у которой логин равен введенной переменной и пароль равен введенной переменной.
-
Понимаю, что я в Sql ещё дуб, дубом. Базу создал, данные записываются, а ещё сколько всего надо знать, блин ….. Буду изучать……. Но всё равно за ответ спасибо.
-
http://detail.phpclub.net/article/phpintro
тут напсано, как работать с базой и составлять запросы.
самостоятельно апельсины на логин сможешь заменить?
Если совсем не справишься - приходи, составим тебе запрос.
просто хочется, чтобы ты сам научился.
С авторизации начинать изучение баз данных не очень правильно
-
Заменить апельсины уже смог, как раз отсюда. Теперь пытаюсь с запросами рабоать
-
ну так ты можешь запросить пароль из базы, где логин равен введенному в форму?
это же одно и то же.
а потом просто сравнить пароль из базы с введенным?
-
Ну а как я могу проверить верный ли введённый пароль тому, который в базе???
-
ты не поверишь.
оператором сравнения. он выглядит как два знака равно: ==
по бокам от которых пишут сравниваемые величины
обычно применяется в сочетании с оператором if чтобы по результатам сравнения выполнить или не выполнить то или иное действие.
-
Вот скажи такое возможно:
Пользователь вводит логин и пароль, нажимет готово, открывается новая страница. НА это странице программа сначала запрашивает из базы данных введённый пользователем логин, а также пароль к этому логину. А затем программа анализурет, равен ли пароль из базы тому, что ввёл пользователь.
Если нет, то искренне перед тобой извиняюсь.
-
а почему не-то?
возможно, конечно.
Только наоборот, конечно - начала программа все проверяется, в потом открывается новая страница.
и запрашивать логин, мне кажется, не имеет смысла.
проще сразу запросить пароль от введенного логина.
Если честно, то я не понял , почему ты спрашиваешь, и за что хочешь извиняться.
-
А вот, что я хотел узнать изначально: как запросить из базы данных логин, который ввёл пользователь и пароль к нему.
Как сравнитть пароли я уже догадался.
-
Т.е.: как запросить парль о введённого логина????
-
зачем запрашивать из базы логин?
Но хорошо. пусть будет логин.
чем запрос логина принципиально отличается от запроса любителей апельсинов в статье, которую ты изучил?
почему ты не можешь сделать по аналогии, заменить фрукты на логин?
Что тебе мешает?
-
Случайно сам за себя проголосовал =)
-
Примерно понял. Буду пытаться. БББББОльшое спасибо за наставления на пусть верный...
-
....WHERE login = $_POST[\'nick\'] "; говорит ошибка.
-
Ну в общем получается, надо только отлаживать. Не достал тебя???
Всё, на сегодня отстаю. Искренне благодарен!!!!!!!!!!!! RomikChef FOREVER!!!!!!!!!!!!!!!
-
ассоциативные массивы нельзя подставлять в строки, как обычные переменные.
нужно строку соединять с ними.
WHERE login =".$_POST[\'nick\']
-
задание на завтра:
1. прочитать http://phpfaq.ru/slashes и узнать, зачем в запросе нужны одинарные кавычки.
2. зайти на форум и узнать, как сразу в запросе запросить пользователя у которого введенные логин и пароль. То есть - указывать во where ДВА условия.
3. ответить на вопрос, который я задал в самом начале:
чтобы пользователь авторизовался, недостаточно проверить введенные в форму логин и пароль.
Надо еще заставить браузер идентифицироваться с каждым запросом.
ты об этом подумал?
-
Ок. Постараюсь выполнить
-
Всё равно эта строка не работает. Где ошибка???
$name=$_POST[\'login\'];
$query = ….where nick =\'"adds($name)"\'";
?>
-
господи!
А функцию-то, КТО ТЕБЕ СКАЗАЛ, что можно в строку вставлять???
выше ее перенеси, чучело! К $_POST[\'login\'];
это раз.
и откуда у тебя столько кавычек?
Господи. Ну нейжели так сложно понять, что если у тебя строка "в ДВОЙНЫХ КАВЫЧКАХ", то ВНУТРЬ ЕЕ уже добавлять двойные НЕЛЬЗЯ?!
-
Понимаешь, братэлло, на PHPFAQ.RU в разделе: \\"Надоедливые наклонные\\", слеши, экранирование кавычек. Написано, что "
...
удобно для вставления в запрос, вида "SELECT * FROM table WHERE name=\'".adds($name)."\'";... например, adds($_POST);
Вот я и делал по такому же принципу: $query = ….where nick =\'"adds($name)"\'";
НАсчёт кавычек: $query = "(открываем двойные1)….where nick =\' "(их закрываем, причём одинарная1 между ними) adds($name) "(открываем двойные2 , чтоб ординарную2 занести в двойные2) \' "(закрываем двойные2);
ТОже по принципу той же статьи.
-
И на твой вопрос: HTTP-аутификация средствами PHP нет???? Эт я в каком-то учебнике откопал.
-
Pavel199:
Вот я и делал по такому же принципу:
ага
только спавни что написано у тебя и в faq.
где конкатенирующие точки?
Pavel199:
HTTP-аутификация средствами PHP
как один из вариантов
-
безнадежен.