За последние 24 часа нас посетили 20168 программистов и 1667 роботов. Сейчас ищут 1893 программиста ...

Где здесь ошибка

Тема в разделе "Сделайте за меня", создана пользователем Vladens, 20 окт 2016.

  1. Vladens

    Vladens Новичок

    С нами с:
    19 окт 2016
    Сообщения:
    8
    Симпатии:
    0
    PHP:
    1. <?php
    2. if (isset($_POST['login'])){
    3.     $login = $_POST['login'];
    4.     if ($login == '') {
    5.         unset($login);
    6.         exit ("Введите пожалуйста логин!");
    7.     }
    8. }
    9. if (isset($_POST['password'])){
    10.     $password = $_POST['password'];
    11.     if ($password=='') {
    12.         unset ($password);
    13.         exit ("Введите пароль");
    14.     }
    15. }
    16. $login = stripslashes ($login);
    17. $login = htmlspecialchars($login);
    18. $password = stripslashes ($password);
    19. $password = htmlspecialchars($password);
    20.  
    21. $login = trim($login);
    22. $password = trim($password);
    23. $password = md5($password); //шифруем пароль
    24. $result = mysql_query ("SELECT * FROM pg0 Where id = $GET["id"]);
    25.    $row =mysql_fetch_array($result);
    26. if (empty($id_user['id'])){
    27.    exit ("Извините, введённый вами логин или неверный.");
    28. }
    29. else {
    30.    $_SESSION['password'] = $password;
    31.    $_SESSION['login'] = $login;
    32.    $_SESSION['id'] = id_user['id'];
    33. }
    34. echo "<meta http-equiv='Refresh' content='0; URL=index.php'>";
    35. ?>
     
    #1 Vladens, 20 окт 2016
    Последнее редактирование модератором: 21 окт 2016
  2. ELEMENTAL Limited

    ELEMENTAL Limited Новичок

    С нами с:
    14 окт 2016
    Сообщения:
    19
    Симпатии:
    6
    Обрабатываете строки логин пароль, а выборку из базы в итоге по параметру гет запроса делаете.
    Потом проверяете на пустоту $id_user['id']. Где бы этому массиву взяться то

    P. S. md5 хеширует строку, а не шифрует
     
    denis01 нравится это.
  3. Vladens

    Vladens Новичок

    С нами с:
    19 окт 2016
    Сообщения:
    8
    Симпатии:
    0
    А как всё это исправить.
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Vladens нравится это.
  5. Васяня

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

    С нами с:
    2 окт 2016
    Сообщения:
    238
    Симпатии:
    32
    Адрес:
    Россия, Приморский край, г. Находка.
    Переменная $login объявляется в условии (строка 2), а если условие не проходит то и переменной нет. А решение проблемы простое нужно проверить метод отправки данных:
    PHP:
    1. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    2.     // Здесь код обработки post запроса
    3. }
    Ещё ошибка в строке 24 не закрыты ковычки и неправильная конкатерация строки с переменной.
    --- Добавлено ---
    Строковые операторы
    --- Добавлено ---
    Строки
    --- Добавлено ---
    В строке 32 перед именем переменной должен быть знак долорра ($).