За последние 24 часа нас посетили 18332 программиста и 1600 роботов. Сейчас ищут 959 программистов ...

При авторизации выдает ошибку HTTP ERROR 500

Тема в разделе "PHP для новичков", создана пользователем giru, 20 дек 2017.

  1. giru

    giru Новичок

    С нами с:
    20 дек 2017
    Сообщения:
    4
    Симпатии:
    1
    Написано 2 снипета для CMS ModX: регистрация и авторизация. Снипет регистрации работает корректно, а вот снипет авторизации выдает HTTP ERROR 500. Помогите пожалуйста в решении данной проблемы. Вот код снипета
    PHP:
    1. <?php
    2. $login = $_POST['login']; //Написать условия проверки
    3. if(isset($_POST['password']) && strlen($_POST['password'])>0){
    4.     $password = strip_tags($_POST['password']);
    5.     $password = md5($password);
    6.    
    7. }
    8. $whereLog = array(
    9.     'parent'=> 3,
    10.     'description' => $login
    11.     );
    12. $login = $modx->getObject('modResource', $whereLog);
    13. if(isset($login->get('id'))){
    14.    if($password == md5($login->get('introtext')))
    15.    {
    16.        //ТО пользователь существует
    17.        echo 1;
    18.    }
    19.    else
    20.    {
    21.         die('user in unserchible (password)');
    22.    }
    23. }
    24. else
    25. {
    26.     die('user in unserchible (login)');
    27. }
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    внутренняя ошибка - смотри в лог
     
  3. giru

    giru Новичок

    С нами с:
    20 дек 2017
    Сообщения:
    4
    Симпатии:
    1
    файл с логами пустой. Возможно не сформировался, хотя не уверен. Вот когда убираю эти строчки работает.
    Код (Text):
    1. $login = $modx->getObject('modResource', $whereLog);
    2. if(isset($login->get('id'))){
    3.    if($password == md5($login->get('introtext')))
    4.    {
    5.        //ТО пользователь существует
    6.        echo 1;
    7.    }
    8.    else
    9.    {
    10.         die('user in unserchible (password)');
    11.    }
    12. }
    13. else
    14. {
    15.     die('user in unserchible (login)');
    16. }
     
  4. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @giru, чего Вы ожидаете от вызова isset($login->get('id')) ?
     
  5. giru

    giru Новичок

    С нами с:
    20 дек 2017
    Сообщения:
    4
    Симпатии:
    1
    Спасибо за помощь. Проблему решили
    Код (Text):
    1. <?php
    2. session_start();
    3. $login = $_POST['login']; //Написать условия проверки
    4. if(isset($_POST['password']) && strlen($_POST['password'])>0){
    5.     $password = strip_tags($_POST['password']);
    6.     $password = md5($password);
    7.    
    8. }
    9. $whereLog = array(
    10.     'parent'=> 3,
    11.     'description' => $login
    12.     );
    13. $login = $modx->getObject('modResource', $whereLog);
    14. if(isset($login)){
    15.    if($password == $login->get('introtext'))
    16.    {
    17.        $id = $login->get('id');
    18.        $_SESSION['id'] = $id;
    19.        header('Location: /');
    20.    }
    21.    else
    22.    {
    23.        echo $password.'<br>';
    24.         die('user in unserchible (password)');
    25.    }
    26. }
    27. else
    28. {
    29.     die('user in unserchible (login)');
    30. }
     
    igordata нравится это.