Отключение PHP-сессии в Gecko / Webkit - PullRequest
4 голосов
/ 10 октября 2011

У меня установлена ​​переменная PHP Session:

$_SESSION['token']=$_POST['token']; на newOrder.php.

Также установлено $_SESSION['orderId'], $_SESSION['stylesUrl'], $_SESSION['brand'] и $_SESSION['currentBalance']

Существует ссылка на newOrder.php на templateSelection.php (тот же сервер).

Внизу newOrder.php Я делаю print_r($_SESSION) со следующим выводом:

[token] => {61424637-6E77-BCE0-A10B-3F3E9F74753E}
[currentBalance] => 991.0000
[stylesUrl] => /Management/Stylesheets/basic.css
[brand] => YM
[savedOrderReturnURL] => /Management/DirectMail/DirectMailSaveOrder.aspx

Это прямо внизу страницы newOrder.php с двумя строками HTML после.Когда пользователь нажимает ссылку на templateSelection.php, обрабатывается следующий php:

<code><?php include("php/db.php");
header('P3P: CP="NOI ADM DEV COM NAV OUR STP"');
//$_SESSION['username']="bymtest";
//We seem to be getting an orderId in the session variable even though there wasn't one just before this page was called.
$debugMode = true;
if($debugMode) {
    echo "<pre>";
    print_r($_SESSION);
    echo "
"; die ();}

Inside php/db.php is:

$dbhost = 'host';
$dbuser = 'un';
$dbpass = 'pw';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
$db = mysql_select_db("db");
session_start();

Теперь это странная часть. В Firefox и Chrome print_r в templateSelection.php выводит:

[token] => 
[currentBalance] => 991.0000
[stylesUrl] => /Stylesheets/basic.css
[brand] => YM
[savedOrderReturnURL] => /Management/DirectMail/DirectMailSaveOrder.aspx

Однако в Opera и IE9 / 8/7/6 выводит

[token] => {61424637-6E77-BCE0-A10B-3F3E9F74753E}
[currentBalance] => 991.0000
[stylesUrl] => /Management/Stylesheets/basic.css
[brand] => YM
[savedOrderReturnURL] => /Management/DirectMail/DirectMailSaveOrder.aspx

session_start всегда установлен, я пробовал на нескольких компьютерах ... это просто бессмысленно! Раньше это также работало на другом URL, на том же сервере.

1 Ответ

0 голосов
/ 10 октября 2011

Как подсказывает @Griwes, вам нужно вызвать session_start() в верхней части вашего скрипта.

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