php session help - PullRequest
       4

php session help

0 голосов
/ 18 ноября 2009

Хорошо, поэтому на моей главной странице есть сеанс. Я использую идентификатор сеанса для запроса базы данных.

Теперь, когда я публикую пост на странице, у меня есть session_start () вверху, но когда я повторяю session_id() на главной странице и на странице, которая была опубликована, они имеют 2 разных значения. Почему меняется session_id()?

Есть ли способ заставить его сохранить исходное значение?

EDIT:

index.php

<?php
session_start();
echo session_id(); 
?>
<form method="post" action="post.php">
<input type="text" name="some_field" />
</form>

post.php

session_start();
echo session_id();

Идентификатор сеанса в index.php отличается от идентификатора в post.php!

Ответы [ 3 ]

2 голосов
/ 18 ноября 2009

Вы уверены, что ваш браузер принимает куки, как это должно быть? Чтобы убедиться, что вы пытаетесь в другом браузере, чем ваш обычный

0 голосов
/ 19 ноября 2009

http://www.php.net/manual/en/function.session-id.php говорит:

Примечание: При использовании файлов cookie сеанса указание идентификатора для session_id () всегда будет отправлять новый файл cookie, когда session_start () вызывается независимо если идентификатор текущей сессии идентичен на тот, который устанавливается.

и

Если указан идентификатор, он заменит текущий идентификатор сессии идентификатор сессии() нужно позвонить раньше session_start () для этой цели. В зависимости от обработчика сеанса, не все символы разрешены в пределах идентификатор сессии.

0 голосов
/ 19 ноября 2009

звучит так, как будто вы меняете название сеанса или вам нужно изменить название сеанса.

почему бы не вывести имя сеанса, а также его идентификатор

например:

echo session_name();
echo "<br/>";
echo session_id();

если кто-то меняет имя вашего сеанса, вам придется использовать это имя все время. PHPSESSID - это имя по умолчанию для сеанса. SESSf9a1dfbab4f36b89eaf8b74ce485ad62 звучит как нечто, что вы тоже изменили ..

Вы также можете проверить session_id (), чтобы увидеть, какое значение добавляется в имя. Вы можете явно установить все эти значения, и если что-то в вашем коде делает это, вам лучше отследить это.

(я предполагаю, что в вашем коде есть что-то большее, чем то, что вы создали)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...