За последние 24 часа нас посетили 18113 программистов и 1599 роботов. Сейчас ищут 925 программистов ...

Помогите разобраться с авторизацией

Тема в разделе "PHP и базы данных", создана пользователем serbod, 26 окт 2010.

  1. serbod

    serbod Активный пользователь

    С нами с:
    26 окт 2010
    Сообщения:
    1
    Симпатии:
    0
    Адрес:
    195
    Подскажите что в этом скрипте не так? при попытке авторизоваться на сайте страница обновляется, и нечего не происходит.
    ------
    нвзвание таблицы в msql "users" (колонки login, Pass)

    PHP:
    1. <?
    2. foreach ($_POST as $var => $value)
    3. {
    4. if ($var=="amp;log"){$log=$value;}
    5. if ($var=="amp;psw"){$psw=$value;}
    6. }
    7. $log = htmlentities($log);
    8. $psw = htmlentities($psw);
    9. if(isset($submit) )
    10. {
    11. include ("../setup.php");
    12. $log2=$log;
    13. $result=mysql_query("select * from users where login='$log2'");
    14. $row=mysql_fetch_array($result);
    15. $base_login=$row[1];
    16. $base_psw=$row[2];
    17. if($log==$base_login && $psw==$base_psw && $log<>"")
    18. {
    19. $HTTP_SESSION_VARS['l']=$base_login;
    20. Header("Location: index.php");
    21. }
    22. else
    23. {
    24. Header("Location: ../index.php");
    25. }
    26. }
    27. ?>
     
  2. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    $result=mysql_query("select * from users where login='".$log2."'");
     
  3. asik

    asik Активный пользователь

    С нами с:
    12 июл 2007
    Сообщения:
    211
    Симпатии:
    0
    может ошибка тут?
    $base_login=$row[0];
    $base_psw=$row[0];
    и вообще,НЕКОГДА не пользуйтесь * в sql пишите правильно
    $result=mysql_query("select login,pswd from users where login='$log2'");
     
  4. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Это почему еще? Обоснуй?
     
  5. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Патамушто тогда нельзя XSLT использовать!!!!11адын
    :D
     
  6. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Буг0га, "правильно" )))) к нам в гости петросян зашел.
     
  7. Зверь

    Зверь Активный пользователь

    С нами с:
    2 ноя 2010
    Сообщения:
    80
    Симпатии:
    0
    Адрес:
    Екатеринбург
    Первое, что хочется отметить функция htmlentities() сделает следующие преобразования, если есть тэги к примеру в логине
    PHP:
    1. $log = '<Super>';
    2. echo htmlentities($log); // Увидем следующее: &lt;Super&gt;
    Соответственно если в базе записано '<Super>', то при сравнении '<Super>' и '&lt;Super&gt;' будет отрицательный результат
    Подключение я так понимаю происходит в setup.php
    Второе, функция mysql_fetch_array() возвращает ассоциативный массив, т.е. обращение должно быть не $row[1], а например $row['login']
    PHP:
    1. $base_login = $row['login'];
    2. $base_psw = $row['Pass'];
    Можно еще попридератся к коду, но не буду
     
  8. Зверь

    Зверь Активный пользователь

    С нами с:
    2 ноя 2010
    Сообщения:
    80
    Симпатии:
    0
    Адрес:
    Екатеринбург
    serbod
    Как подсветку кода добавить как у тебя?
    [рhр][/рhр] не помогает, получается то. что выше без подсветки
     
  9. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    После bb-тега [ php] пиши <?php
     
  10. Зверь

    Зверь Активный пользователь

    С нами с:
    2 ноя 2010
    Сообщения:
    80
    Симпатии:
    0
    Адрес:
    Екатеринбург
    sobachnik спасибо