Я пытаюсь использовать session_id () на некоторых php-страницах, но идентификатор меняется между каждым файлом, и он меняется каждый раз, когда я обновляю страницу. Я поместил следующий скрипт, который должен увеличиваться при перезагрузке, но это не так.
session_start(); if (!isset($_SESSION['hits'])) $_SESSION['hits'] = 0; ++$_SESSION['hits']; echo '<p>Session hits: ', $_SESSION['hits'], '</p>'; echo '<p>Refresh the page or click <a href="', $_SERVER['PHP_SELF'], '">here</a>.';
В моем файле php.ini я включил файлы cookie, а также установил мой save_path tp '/ tmp'.
В реальной папке есть файлы сеансов … поэтому я знаю, что это не проблема с записью файлов. Я также обеспечил, чтобы каждый файл был utf-8 с bom для обеспечения согласованности.
Если есть какие-либо другие решения, о которых вы можете подумать, пожалуйста, помогите мне решить эту проблему. Это сводит меня с ума.
Благодаря!!!
3 возможности, которые я могу придумать для вашей ситуации:
session_id()
? Включите этот код в свой вопрос. Если вы вызываете его с любыми аргументами, он переопределит идентификатор сеанса на любой аргумент, который вы передали. session_destroy()
в любой момент? Это удалит данные сеанса с сервера и вызовет запуск нового сеанса при последующих просмотрах страниц. Это потому, что вы создаете новый сеанс каждый раз, когда вы обновляете страницу. Вы должны заключить инструкцию начала сеанса в if.
if(session_id() == ''){ session_start(); }