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 » PHP » Напишите за меня, пожалуйста » Проверка логина и пароля из бд

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

1. Greet - 14 Января, 2013 - 22:34:39 - перейти к сообщению
Собственно, не проверяет. Ошибку тоже не выбивает. Подскажите, пожалуйста, где ошибся:
CODE (htmlphp):
скопировать код в буфер обмена
  1. if(isset($_POST['enter'])){
  2.     if($_POST['name'] != "" and $_POST['pass'] != ""){
  3.                 $db = mysql_connect("localhost", "root", "") or die(mysql_error());
  4.                 mysql_select_db("chat",$db);
  5.                 $result = mysql_query("SELECT * FROM `user` WHERE `name` = '$name' AND `pass` = '$pass' LIMIT 1") or die(mysql_error());
  6.                 $user = mysql_fetch_assoc($result);
  7.                 mysql_free_result($result);
  8.                    
  9.                 if ($user) {
  10.                    $_SESSION['name'] = stripslashes(htmlspecialchars($_POST['name']));
  11.                 }
  12.                 else {
  13.                  echo '<span class="error">Неверный логин или пароль</span>';
  14.                  }
  15.                     }
  16. }
2. Toxa - 14 Января, 2013 - 22:39:14 - перейти к сообщению
очевидно, в массив POST ничего не попадает.
сделайте
PHP:
скопировать код в буфер обмена
  1. echo '<pre>'.print_r($_POST, true).'</pre>';
3. Greet - 14 Января, 2013 - 22:46:35 - перейти к сообщению
Array
(
[name] => name
[pass=] => password
[enter] => Вход
)
4. DelphinPRO - 14 Января, 2013 - 23:02:39 - перейти к сообщению
Greet пишет:
$result = mysql_query("SELECT * FROM `user` WHERE `name` = '$name' AND `pass` = '$pass' LIMIT 1") or die(mysql_error());

откуда переменные $name и $pass берутся?? по ходу из воздуха..
(Добавление)
на время отладки в самом начале скрипта всегда пишите



если бы у вас были включены все ошибки, то вы бы увидели предупреждение о том что переменые неинициализированы.
5. Greet - 14 Января, 2013 - 23:20:04 - перейти к сообщению
Добавил $name = $_POST['name']; $pass = $_POST['pass']; Теперь заходит по логину и паролю. Спасибо.

 

Powered by ExBB FM 1.0 RC1