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. Gold_Sky - 21 Марта, 2015 - 17:43:20 - перейти к сообщению
при вводе пароля оно мне пишет что неправильный логин и пароль
и посматрел пароль в БД и тама всегда в яцейке пароля стоит цифра 0
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.         //Регистрация
  3.         $connect = mysql_connect('localhost', 'root', '') or die(mysql_error());
  4.         mysql_select_db('registr');
  5.         if (isset($_POST['submit'])) {
  6.                 $username = $_POST['username'];
  7.                 $login = $_POST['login'];
  8.                 $password = $_POST['password'];
  9.                 $r_password = $_POST['r_password'];
  10.         if ($password == $r_password) {
  11.                         $password = md5($password);
  12.                 $query = mysql_query("INSERT INTO users VALUE ('','$username','$login','$password')") or die (mysqli_error());
  13.         }
  14.                 else{
  15.                         die('Пароль не совпадает');
  16.                 }
  17.         }
  18.         // Авторизация
  19.         if (isset($_POST['enter'])) {
  20.                 $e_login = $_POST ['e_login'];
  21.                 $e_password = ($_POST ['e_password']);
  22.                 $query = mysql_query("SELECT * FROM user WHERE login = '$e_login' ") or die(mysql_error());
  23.                 $user_data = mysql_fetch_array($query);
  24.  
  25.                 if ($user_data['password'] == $e_password) {
  26.                         echo "Ты вошел";
  27.                 }
  28.                 else
  29.                                 echo "Неправильный логин или пароль!";
  30.         }
  31.  
  32. ?>
  33. <form method="post" action="registr.php">
  34.         <input type="text" name="username" placeholder="Username" required><br/>
  35.         <input type="text" name="login" placeholder="Login" required><br/>
  36.         <input type="password" name="password" placeholder="Password" required><br/>
  37.         <input type="password" name="r_password" placeholder="Password" required><br/>
  38.         <input type="submit" name="submit" value="Отправить">
  39. </form>
  40. <form method="post" action="registr.php">
  41. <input type="text" name="e_login" placeholder="Login" required><br/>
  42. <input type="password" name="e_password" placeholder="Password" required><br/>
  43. <input type="submit" name="enter" value="Enter">
  44. </form>
2. alnik-75 - 21 Марта, 2015 - 18:06:54 - перейти к сообщению
а что означает запись в строке 11?

и почему у Вас периодически наряду с mysql используется mysqli, например : mysqli_error?
3. Russer - 21 Марта, 2015 - 22:50:24 - перейти к сообщению
В 22 второй строке зачем то повторно записываете данные в таблицу при авторизации , но переменой $password не существут , по этому запрос присваивает пустую строку . А вообще еще структуру таблицы можно посмотреть ...
4. Gold_Sky - 24 Марта, 2015 - 16:05:34 - перейти к сообщению
alnik-75 пишет:
а что означает запись в строке 11?

и почему у Вас периодически наряду с mysql используется mysqli, например : mysqli_error?
это надо для md5, но я её все ровно удалил и даже из 22 строки повторное подключение оно все ровно пишет мне что неправильный логин или пароль
незнаю почему но оно всегда отрпавляет в БД в ячейка цифру ноль
5. esterio - 24 Марта, 2015 - 16:46:32 - перейти к сообщению
Gold_Sky пишет:
$query = mysql_query("INSERT INTO users VALUE ('','$username','$login','$password')") or die (mysqli_error());

22 строка для авторизации не нужна.
6. difight - 24 Марта, 2015 - 17:29:36 - перейти к сообщению
Посмотри что возвращает
когда ты авторизуешься
7. Gold_Sky - 25 Марта, 2015 - 01:05:04 - перейти к сообщению
difight пишет:
Посмотри что возвращает
когда ты авторизуешься
а как посматреть?
8. difight - 25 Марта, 2015 - 09:58:55 - перейти к сообщению
Gold_Sky пишет:
difight пишет:
Посмотри что возвращает
когда ты авторизуешься
а как посматреть?

После того как определил
PHP:
скопировать код в буфер обмена
  1. $user_data

пиши
CODE (htmlphp):
скопировать код в буфер обмена
  1. var_dump($user_data);
9. Faraon-san - 25 Марта, 2015 - 11:24:51 - перейти к сообщению
Когда идет запрос на выборку пользователя по логину, обращается не к той базе. (23 строка)
Повторная вставка в базу данных при авторизации. (22 строка)
Вывод ошибок при вставках в базу данных вызывается функция другого драйвера бд (строка 12 и 22)
Использование устаревшего драйвера mysql.
10. esterio - 25 Марта, 2015 - 12:01:29 - перейти к сообщению
Gold_Sky
http://phpfaq[dot]ru/debug

 

Powered by ExBB FM 1.0 RC1