Автор Тема: АВторизация пользователя -проблемы  (Прочитано 2363 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Abram

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 116
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть у меня следующий скрипт авторизации(я его взял на єтом форуме, т.к. свой пока не могу написать)
auth.php
$error = array();
$_SESSION[\'username\'] = "";
$_SESSION[\'userpass\'] = "";

if (@$_POST["logon"])
{
 $login = trim(@$_POST["user"]);
 $password = trim(@$_POST["pass"]);
 if ($login=="") { $error[]="Не заполнено поле \\"Имя\\""; }
 if ($password=="") { $error[]="Не заполнено поле \\"Пароль\\""; }
 $sql="select * from zakazu where login=\'$login\' and password=\'$password\'";
 $res=db_select($sql);
 $id=mysql_result($res, \'id\');
 $n=mysql_num_rows($res);
 if($n<=0)
   {
    $error[]="Неправильний пароль або логін";
   }
 if (!count($error))
  {
   $_SESSION[\'username\'] = $id;
   $_SESSION[\'userpass\'] = $password;
  }
}
if (count($error))
{
  echo "Ошибка";
  foreach ($error as $value) { echo "
  • $value
  • "; }
    }

    if (!$_SESSION[\'username\']){
    ?>
    " method="post">

    Username:

    Password:



    }
    Еще есть страница index.php  с такой структурой:
    session_start();
    top
    left
    content
    right
    bottom

    В left я пишу
    if($username)
     {
       if($do==\'upd\')
         { UPDATE }   
      Форма где пользователь может редактировать свою информацию
    ......
     }
    Проблема - после авторизации при отправке формы меня отправляет на index.php проходить авторизацию. Почему? Как должно быть правильно? И еще что можно улучшить в скрипте авторизации(шифровать пароли не предлагать, я специально упростил чтобы меньше здесь писать)

    Оффлайн Макс

    • vir magni ingenii
    • Глобальный модератор
    • Ветеран
    • *****
    • Сообщений: 3534
    • +0/-0
    • 2
      • Просмотр профиля
    АВторизация пользователя -проблемы
    « Ответ #1 : 16 Мая 2004, 16:40:09 »
    Abram
    ты же при каждом запросе страницы перед проверкой, пошел ли юзер авторизацию очищаешь $_SESSION[\'username\'] :)
    Цитировать
    Abram:
    $_SESSION[\'username\'] = "";
    $_SESSION[\'userpass\'] = "";


    То есть ты его очищаешь, а потом проверяешь :
    Цитировать
    if (!$_SESSION[\'username\']){



    ИМХО эти 2 строки
    $_SESSION[\'username\'] = "";
    $_SESSION[\'userpass\'] = "";
    вообще не нужны если ты не забываешь делать session_start()
    First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

    Оффлайн Меняздесьдавнонет

    • новичЕк
    • Глобальный модератор
    • Ветеран
    • *****
    • Сообщений: 5698
    • +0/-0
    • 2
      • Просмотр профиля
      • http://
    АВторизация пользователя -проблемы
    « Ответ #2 : 16 Мая 2004, 16:51:50 »
    офигенная идея-брать скрипты на форуме, то есть там,куда, люди приходят с проблемами, там, где ЗАВЕДОМО кривой код

     

    Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28