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 :: Версия для печати :: Выборка из БД
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Выборка из БД

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

1. middlejw - 17 Ноября, 2015 - 12:22:42 - перейти к сообщению
Приветствую, возникла следующая проблема, есть код:
форма:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form method="get" action="" enctype="text/plain">
  3.     <input type="hidden" name="option" value="login">
  4.     <input type="text" class="inputtext" name="userlogin"><br>
  5.     Пароль (<a class="forget" id="forget">Напомнить</a>):<br>
  6.     <input type="password" class="inputtext" name="userpassword"><br>
  7.     <input type="submit" class="inputsubmit" value="Войти"><br>
  8. </form>
  9.  

И обработчик:
PHP:
скопировать код в буфер обмена
  1.  
  2. class Login extends Core {
  3.     public function getContent() {
  4.         global $mysqli;
  5.         global $smarty;
  6.         $password = $_GET['userpassword'];
  7.         $login = $_GET['userlogin'];
  8.         $res = $mysqli->query("SELECT * FROM clients WHERE phone=$login AND password=$password");
  9.         if ($res->num_rows > 0) {
  10.             echo "OK";  
  11.         } else {
  12.             echo "NEOK";  
  13.          }
  14.     }
  15. }
  16.  

В таком виде работает нормально. но если в БД заменить значение на md5 хэш и переменную $password определить как $password=md5($_GET['userpassword']);, перестает работать.

И еще, если даже оставить пароль без md5, а в качестве логина указать почту, тестил на test.test@yandex.ru - тоже не работает.

В чем может быть проблема?

Кодировка utf8, редактор bracket
2. Viper - 17 Ноября, 2015 - 12:30:34 - перейти к сообщению
Одинарные кавычки в запросе где?
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM `clients` WHERE `phone` = '$login' AND `password` = '$password'
3. middlejw - 17 Ноября, 2015 - 13:16:19 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM clients WHERE phone = '$login' AND password = '$password'


Вот так заработало, спасибо, походу на сегодня с этим делом надо завязыватьУлыбка

 

Powered by ExBB FM 1.0 RC1