Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > php session проблема записи


Автор: elferno 19.5.2011, 11:36
здравствуйте, у меня такой вопрос :

допустим есть у меня на сервере 3 файла : main, ajax1 и ajax2 со следующим содержанием :

main :
--------------------------------------------------------------------------------
Код

<?
session_start();

unset($_SESSION['param']);

echo "var sn=".session_name().",si=".session_id();
?>

<script>
aj1=document.createElement('script');
aj1.src="ajax1.php?"+sn+"="+si+"&rand="+Math.random();
document.body.appendChild(aj1);
</script>

--------------------------------------------------------------------------------


ajax1 :
--------------------------------------------------------------------------------
Код

<?
session_start();

$_SESSION['param']=1;

echo "
alert('".$_SESSION['param']."');

aj2=document.createElement('script');
aj2.src=\"ajax2.php?\"+sn+\"=\"+si+\"&rand=\"+Math.random();
document.body.appendChild(aj2);
";
?>

--------------------------------------------------------------------------------


ajax2 :
--------------------------------------------------------------------------------
Код

<?
session_start();

echo "alert('".$_SESSION['param']."');";
?>

--------------------------------------------------------------------------------


вот такая простенькая схемка, выдает 2 алерта. Работает нормально, но иногда ( не пойму от чего это зависит ) первый алерт выдает "1", а второй ПУСТОЙ, т.е. получается он в ajax1 какбы забил сессию и нормально ее там считал, а в ajax2 нет такой сессионной переменной. Сессия сделана, чтобы писалась через базу ( могу выложить код, если это имеет значение в данном вопросе )

собственно вопрос в том почему так происходит и, главное, как этого исправить ( без переделки логики, т.е. чтобы структура осталась та же ) ... пробовал session_commit(); в ajax1 вписывать - не помогло

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)