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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: не могу зарегестрировать пользователя

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: при авторизации всегда выводит не верный пароль
lancer5610
Отправлено: 18 Декабря, 2010 - 15:17:34
Post Id


Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Здраствуйте!!! подскажите пожалуйста почему при авторизации вечно выводит пароль не верен..? хотя я уверен что ввожу правильные значения... даже когда пустые значения ввожу, то все равно пароль не верен, хотя должно выдавать логин или пароль не указан... Целый день ломаю голову и что то ни как не могу понять...

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. echo '<a href="zap.php">zapis</a><br><bt>';
  3. include ("dbparam.php");
  4. $link = mysql_connect($dbserver, $dbuser, $dbpass) or die('ne mogy');
  5. mysql_select_db($db, $link) or die ('Не могу выбрать БД');
  6. if (md5(crypt ($_SESSION[user],$_SESSION[password]))!=$_SESSION[uid])
  7. {
  8.    if (!$_POST['do']){
  9.        
  10.            echo '<a href="registration.php">Регистрация</a><br><br>
  11.            <form method="post" name="voit"><br>
  12.            <input type="text" name="login"><br>
  13.            <input type="password" name="password"><br>
  14.            <input type="submit" name="do" value="Войти">
  15.            </form>';}
  16.        
  17.    else {
  18.    if ($_POST['do']){
  19.            $login=$_POST['login'];
  20.            $password=$_POST['password'];
  21.            if ($login='' or $password=''){
  22.                echo 'логин или пароль нe указан';}
  23.            else
  24.                {
  25.                $zapros=mysql_query("SELECT * FROM users WHERE nick='".$login."' AND password='".md5($password)."'");
  26.                    if (mysql_num_rows($zapros)===1)
  27.                    {
  28.                        $r=mysql_fetch_array($zapros);
  29.                        $_SESSION['user']=$r['nick'];
  30.                        $_SESSION['password']=$r['password'];
  31.                        $_SESSION['sid']=md5(crypt($r['nick'],$r['password']));
  32.                        @Header("Location: index.php");}
  33.                                        else {echo 'пароль не верен';}}}}
  34. }
  35. else
  36. {
  37.    echo "privet {$r['nick']}";}
  38. ?>
 
 Top
Михаил
Отправлено: 18 Декабря, 2010 - 15:32:51
Post Id



Гость


Покинул форум
Сообщений всего: 112
Дата рег-ции: Июнь 2010  
Откуда: Армавир, Россия


Помог: 0 раз(а)




У меня подобная проблема была. Выяснилось, что проблема связана с кодировкой.
Попробуйте строку 34. Вашего кода заменить на следующий:
CODE (htmlphp):
скопировать код в буфер обмена
  1.      else {echo "SELECT * FROM users WHERE nick='".$login."' AND password='".md5($password)."'";}}}}


если проблемы всё-таки в кодировке, с помощью iconv преобразуйте её

(Отредактировано автором: 18 Декабря, 2010 - 15:33:35)

 
 Top
OrmaJever Модератор
Отправлено: 18 Декабря, 2010 - 16:16:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




переменые $login и $password в запросе не определены.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
lancer5610
Отправлено: 18 Декабря, 2010 - 17:24:55
Post Id


Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




OrmaJever пишет:
переменые $login и $password в запросе не определены.


Что то не понял... Как это они не определены? строка 20 и 21... там они и определены и там им присваиваються значения из форм...
Поясните пожалуйста...
 
 Top
garvey
Отправлено: 18 Декабря, 2010 - 17:25:11
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010  
Откуда: Minsk


Помог: 3 раз(а)




Очень страшный код. Ошибки:
1. if ($login = '' or $password = '') => if ($login == '' or $password == '')
2. Экранируйте запросы. mysql_real_escape_string()
3. И многое другое.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB