Forum Webscript.Ru

Программирование => PHP => Тема начата: Unregistered от 28 Июля 2002, 22:26:04

Название: Проблемы с авторизацией
Отправлено: Unregistered от 28 Июля 2002, 22:26:04
Помогите!!!
Вот код для авторизации пользователя с вводом логина и пароля:
function checkpass ( $login, $password )
     {
    global $link;
    $result = mysql_query( "SELECT id, login, password FROM info WHERE login=\'$login\' AND password=\'$password\'", $link );
    if ( ! $result )
       header ("Location:badpass.php");
    if ( mysql_num_rows( $result ) )
          return mysql_fetch_array ( $result );
    return false;
    }

  checkpass( $login, $password );

--------------

$link здесь - соединение с БД. Почему-то не работает checkpass: при вводе любого логина и пароля пользователь попадает на страницу аккуанта. Программа писана для сайта rang.h1.ru
Название: Проблемы с авторизацией
Отправлено: Меняздесьдавнонет от 29 Июля 2002, 01:04:37
Для того, чтобы понимать это, надо понимать, что возвращает mysql в $result.
В (!$result) будет true только в том случае, если в запросе у тебя ошибка.
Вот это должно сработать
function checkpass ( $login, $password ) {
  $result = mysql_query("SELECT id, login, password FROM info WHERE login=\'$login\' AND password=\'$password\'");
  if ( mysql_num_rows( $result ) ) return mysql_fetch_array ( $result );
  else {
    header ("Location:badpass.php");
    exit;
  }
}
Ты этим паролем только одну страницу закрываешь?
Название: Проблемы с авторизацией
Отправлено: nobody от 29 Июля 2002, 01:11:49
Помоему это тебе поможет...

@$query = "select name, password from admin where name=\'$admin_name\' and password=\'$admin_password\'";
$result = mysql_query($query);
if(mysql_num_rows($result) == 0){
Header("Location: index.php");
exit;
}


А вообще пользуйся поиском...
 (http://forums.webscript.ru/showthread.php?s=&threadid=2397)
Сдесь есть все что касается авторизации...
Все с примерами