|
|
|
| Пытаюсь разобраться как работать с ними правильно, вроде бы все понятно. Но вот с одним примером у меня никак не получится...
В общем есть форма у которой action эта же форма.
<?php
if(session_id() == '') {
session_start();
$_SESSION["FormSent"] = time();
$delta = -1;
echo "Session and delta set<br>session id ".session_id()."<br>";
}else{
$delta = time() - $_SESSION["FormSent"];
echo "delta set<br>";
}
?>
<html>
<body>
<form name="test" method="post" action="<?php echo $HTTP_SERVER_VARS["PHP_SELF"] ?>">
<input type="text" name="test_field"><input type="submit" name="submit">
</form>
</body>
</html>
|
Насколько я понимаю после сабмита формы должна выполняться часть кода после else (ведь сессия была создана при первом показе страницы), но не выполняется. Можете подсказать почему? | |
|
|
|
|
|
|
|
для: tyoma_first
(03.02.2009 в 19:32)
| | $HTTP_SERVER_VARS замените на $_SERVER
во второй ветви (перед обращением к $_SESSION[] нет вызова session_start()
session_start() это вовсе не создание сессии.
Это включение модуля поддержки сессий. | |
|
|
|
|
|
|
|
для: Trianon
(03.02.2009 в 19:39)
| | Сделал как подсказали - не помогло :(
>session_start() это вовсе не создание сессии.
>Это включение модуля поддержки сессий.
А как тогда сессию создать? И почему у меня не переходит на вторую ветвь? | |
|
|
|
|
|
|
|
для: tyoma_first
(03.02.2009 в 20:10)
| |
<?php
session_start();
if($_SESSION["FormSent"]) {
$_SESSION["FormSent"] = time();
$delta = -1;
echo "Session and delta set<br>session id ".session_id()."<br>";
} else {
$delta = time() - $_SESSION["FormSent"];
echo "delta set<br>";
}
?>
|
| |
|
|
|
|
|
|
|
для: sim5
(03.02.2009 в 20:13)
| | И такое я пробовал - не помогает, все равно после сабмита формы выполняется первая часть выражения... | |
|
|
|
|
|
|
|
для: tyoma_first
(03.02.2009 в 20:28)
| |
<form name="test" method="post" action="<?php echo $_SERVER["PHP_SELF"] .'?'.SID ; ?>">
|
| |
|
|
|
|
|
|
|
для: sim5
(03.02.2009 в 20:13)
| | if(!isset($_SESSION['FormSent'])) | |
|
|
|
|
|
|
|
для: Trianon
(03.02.2009 в 21:07)
| | Ну да. В общем понятно - работаем с сессией, стартуем/продолжаем ее, а проверяем установленные в ней переменные. Trianon, чтобы мы без вас делали, "санитар" вы наш. :)) Хорошо, когда подправят, если сам упустишь. | |
|
|
|