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
Форумы портала PHP.SU :: Версия для печати :: POST['login'] в mysql запросе
Форумы портала PHP.SU » » Вопросы новичков » POST['login'] в mysql запросе

Страниц (1): [1]
 

1. Extazy - 18 Мая, 2012 - 02:53:28 - перейти к сообщению
Здравствуйте.
Объясните, пожалуйста, почему $_POST['login'] нельзя прописать в mysql запросе?

Выдаёт ошибку:
PHP:
скопировать код в буфер обмена
  1. $sql = mysql_query("SELECT * FROM users WHERE login=' $_POST['login'] ' AND pass='$pass'");


Правильный вариант:
PHP:
скопировать код в буфер обмена
  1. $sql = mysql_query("SELECT * FROM users WHERE login='$login' AND pass='$pass'");
2. sKaa - 18 Мая, 2012 - 03:02:59 - перейти к сообщению
Extazy, ну потому-что у вас явная синтаксическая ошибка, например можно так :
Extazy пишет:
PHP:
скопировать код в буфер обмена
  1. $sql = mysql_query("SELECT * FROM users WHERE login='".$_POST['login']."' AND pass='$pass'");

А вообще принято как-то проверять всё что пришло от пользователя, будь то куки, посты\геты и прочее.

Можно попросту подставить что-то вместо поля логин и sql запрос станет другим и хакер взломает к чертям весь твой чудо сайт
3. Extazy - 18 Мая, 2012 - 03:45:05 - перейти к сообщению
спасибо за помощь и совет по безопасности!

 

Powered by ExBB FM 1.0 RC1