Forum Webscript.Ru

Программирование => PHP => Тема начата: Pavel199 от 16 Июля 2004, 20:00:53

Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 16 Июля 2004, 20:00:53
Ситуация такая: пользователь(зарегистрировавшийся в базе данных) вводит свой логин и пароль, затем эти данные отправляются на страницу(к примеру auth.php) В этой странице осуществляется связь с базой MySQl. Какое содержание должна иметь строка запроса????
Т.Е. чтобы пользователь авторизировался (введя свой логин и пароль) какой должна быть строка запроса($query = “  ”) к Mysql???
Название: Запрос в MYSql из PHP.
Отправлено: Меняздесьдавнонет от 16 Июля 2004, 20:10:05
Цитировать
Pavel199:
чтобы пользователь авторизировался

чтобы пользователь авторизовался, недостаточно проверить введенные в форму логин и пароль.
Надо еще заставить браузер идентифицироваться с каждым запросом.
ты об этом подумал?
Цитировать
Pavel199:
должна быть строка запроса

сккажи, а ты вообще с mysql работал?
тебе надо составить запрос, где запрашивается строка, у которой логин равен введенной переменной и пароль равен введенной переменной.
Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 16 Июля 2004, 20:50:55
Понимаю, что я в Sql ещё дуб, дубом. Базу создал, данные записываются, а ещё сколько всего надо знать, блин ….. Буду изучать……. Но всё равно за ответ спасибо.
Название: Запрос в MYSql из PHP.
Отправлено: Меняздесьдавнонет от 16 Июля 2004, 20:53:45
http://detail.phpclub.net/article/phpintro
тут напсано, как работать с базой и составлять запросы.
самостоятельно апельсины на логин сможешь заменить?
Если совсем не справишься - приходи, составим тебе запрос.
просто хочется, чтобы ты сам научился.
С авторизации начинать изучение баз данных не очень правильно
Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 16 Июля 2004, 21:00:25
Заменить апельсины уже смог, как раз отсюда. Теперь пытаюсь с запросами рабоать
Название: Запрос в MYSql из PHP.
Отправлено: Меняздесьдавнонет от 16 Июля 2004, 21:06:10
ну так ты можешь запросить пароль из базы, где логин равен введенному в форму?
это же одно и то же.
а потом просто сравнить пароль из базы с введенным?
Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 16 Июля 2004, 21:48:00
Ну а как я могу  проверить верный ли введённый пароль тому, который в базе???
Название: Запрос в MYSql из PHP.
Отправлено: Меняздесьдавнонет от 16 Июля 2004, 22:07:19
ты не поверишь.
оператором сравнения. он выглядит как два знака равно: ==
по бокам от которых пишут сравниваемые величины
обычно применяется в сочетании с оператором if чтобы по результатам сравнения выполнить или не выполнить то или иное действие.
Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 16 Июля 2004, 22:09:10
Вот скажи такое возможно:
Пользователь вводит логин и пароль, нажимет готово, открывается новая страница. НА это странице программа сначала запрашивает из базы данных введённый пользователем логин, а также пароль к этому логину. А затем программа анализурет, равен ли пароль из базы тому, что ввёл пользователь.      

Если нет, то искренне перед тобой извиняюсь.
Название: Запрос в MYSql из PHP.
Отправлено: Меняздесьдавнонет от 16 Июля 2004, 22:19:52
а почему не-то?
возможно, конечно.
Только наоборот, конечно - начала программа все проверяется, в потом открывается новая страница.

и запрашивать логин, мне кажется, не имеет смысла.
проще сразу запросить пароль от введенного логина.

Если честно, то я не понял , почему ты спрашиваешь, и за что хочешь извиняться.
Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 16 Июля 2004, 22:21:01
А вот, что я хотел узнать изначально: как запросить из базы данных логин, который ввёл пользователь и пароль к нему.

Как сравнитть пароли я уже догадался.
Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 16 Июля 2004, 22:29:14
Т.е.: как запросить парль о введённого логина????
Название: Запрос в MYSql из PHP.
Отправлено: Меняздесьдавнонет от 16 Июля 2004, 22:30:04
зачем запрашивать из базы логин?

Но хорошо. пусть будет логин.
чем запрос логина принципиально отличается от запроса любителей апельсинов в статье, которую ты изучил?
почему ты не можешь сделать по аналогии, заменить фрукты на логин?
Что тебе мешает?
Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 16 Июля 2004, 22:35:08
Случайно сам за себя проголосовал =)
Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 16 Июля 2004, 22:43:34
Примерно понял. Буду пытаться. БББББОльшое спасибо за наставления на пусть верный...
Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 16 Июля 2004, 22:56:16
....WHERE login = $_POST[\'nick\'] ";   говорит ошибка.
Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 16 Июля 2004, 23:03:33
Ну в общем получается, надо только отлаживать.  Не достал тебя???
Всё, на сегодня отстаю. Искренне благодарен!!!!!!!!!!!! RomikChef FOREVER!!!!!!!!!!!!!!!
Название: Запрос в MYSql из PHP.
Отправлено: Меняздесьдавнонет от 16 Июля 2004, 23:03:40
ассоциативные массивы нельзя подставлять в строки, как обычные переменные.
нужно строку соединять с ними.

WHERE login =".$_POST[\'nick\']
Название: Запрос в MYSql из PHP.
Отправлено: Меняздесьдавнонет от 16 Июля 2004, 23:06:13
задание на завтра:
1. прочитать http://phpfaq.ru/slashes и узнать, зачем в запросе нужны одинарные кавычки.

2. зайти на форум и узнать, как сразу в запросе запросить пользователя у которого введенные логин и пароль. То есть - указывать во where ДВА условия.

3. ответить на вопрос, который я задал в самом начале:
Цитировать
чтобы пользователь авторизовался, недостаточно проверить введенные в форму логин и пароль.
Надо еще заставить браузер идентифицироваться с каждым запросом.
ты об этом подумал?
Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 16 Июля 2004, 23:08:55
Ок. Постараюсь выполнить
Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 17 Июля 2004, 11:49:20
Всё равно эта строка не работает. Где ошибка???
$name=$_POST[\'login\'];
$query = ….where nick =\'"adds($name)"\'";
?>
Название: Запрос в MYSql из PHP.
Отправлено: Меняздесьдавнонет от 17 Июля 2004, 17:49:24
господи!
А функцию-то, КТО ТЕБЕ СКАЗАЛ, что можно в строку вставлять???
выше ее перенеси, чучело! К $_POST[\'login\'];
это раз.
и откуда у тебя столько кавычек?

Господи. Ну нейжели так сложно понять, что если у тебя строка "в ДВОЙНЫХ КАВЫЧКАХ", то ВНУТРЬ ЕЕ уже добавлять двойные НЕЛЬЗЯ?!
Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 17 Июля 2004, 21:46:10
Понимаешь, братэлло, на 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);  
ТОже по принципу той же статьи.
Название: Запрос в MYSql из PHP.
Отправлено: Pavel199 от 17 Июля 2004, 21:47:29
И на твой вопрос: HTTP-аутификация средствами PHP нет???? Эт я в каком-то учебнике откопал.
Название: Запрос в MYSql из PHP.
Отправлено: ThE0ReTiC от 18 Июля 2004, 19:22:37
Цитировать
Pavel199:
Вот я и делал по такому же принципу:

ага
только спавни что написано у тебя и в faq.
где конкатенирующие точки?
Цитировать
Pavel199:
HTTP-аутификация средствами PHP

как один из вариантов
Название: Запрос в MYSql из PHP.
Отправлено: Меняздесьдавнонет от 19 Июля 2004, 01:14:13
безнадежен.