За последние 24 часа нас посетили 20198 программистов и 1693 робота. Сейчас ищут 1824 программиста ...

ооп и сессия

Тема в разделе "Прочие вопросы по PHP", создана пользователем korih, 12 июл 2016.

  1. korih

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

    С нами с:
    12 окт 2011
    Сообщения:
    34
    Симпатии:
    0
    здравствуйте уважаемые пользователи. столкнулся с неприятной проблемой. почему после авторизации, сессия записывается, а после обновления страницы сразу стирается? помогите пожалуйста, вот код:
    PHP:
    1. <?
    2. class auth
    3. {
    4.     static $login = 'auth_login';
    5.     static $password = 'auth_password';
    6.     static $auth = 'auth';
    7.     static $mess = '';
    8.     static $session_id;
    9.  
    10.     function complete(){
    11.         auth::$session_id = $_SESSION['id'];
    12.         if(isset($_POST[auth::$auth])){
    13.             $auth_login = mysql_real_escape_string($_POST[auth::$login]);
    14.             $auth_password = md5($_POST[auth::$password]);
    15.             $auth_sql = mysql_query("SELECT * FROM users WHERE login = '$auth_login' and pass = '$auth_password'");
    16.             $auth_users = mysql_fetch_array($auth_sql);
    17.             if(isset($auth_users['id'])){
    18.                 $_SESSION['id'] = $auth_users['id'];
    19.                 auth::$mess = "С возвращением";
    20.             }else{
    21.                 auth::$mess = "Данные не верны";
    22.             }
    23.         }
    24.     }
    25. }
    26.  
    27. ?>
     
  2. denis01

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

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

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

    С нами с:
    12 окт 2011
    Сообщения:
    34
    Симпатии:
    0
    не понимаю чем это мне должно помочь, в любом случае никакого света не пролило на суть проблемы и выявление ошибки через дебаг.
    после нажатии кнопки, идёт запись в статическую переменную, для проверки я её вывожу в другом файле. после рефреша страницы, переменная стирается, точнее её содержимое. как правильней всего её сохранить в статическую переменную?
     
  4. korih

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

    С нами с:
    12 окт 2011
    Сообщения:
    34
    Симпатии:
    0
    блин, вот я глупый! на элементарном обломался. заметил, что отсутствует session_start().
     
  5. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @korih mysql библиотека для общения с MySQL уже удалена из PHP7, лучше использовать mysqli или pdo, вот тебе хороший совет.
    --- Добавлено ---
    ты запиши что-то в сессию, посмотри если файл сессии появился в папке с сессиями (папку можно в настройках php.ini выяснить)
     
  6. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    А еще прочитай PSR, хотя бы 1, 2 и 4. Чем раньше начнешь, тем проще переучиваться.
     
    romach нравится это.