Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: а $_SESSION не изменяется [2]
В этом случае меняется, а в приведенном мною примере при нажатии "обновить" появиться сообщение "не удается обновить страницу без повторной отправки данных..." и т.п. и значения остануться прежними.
Оно появится только в том случае, если отправлялась форма перед этим. А если открыть данную страницу прямым линком и обновлять, то ничего кроме изменения сессии происходить не будет, но сессия все же будет меняться
if(isset($_POST['ff']) and $_POST['as']==$_SESSION['z'])
{
echo'ok.<br>';
$_SESSION['z']="";
else
{
echo'no';
}
$_SESSION['z']=$s;
?>
Это смотря что автору нужно!
OrmaJever
Отправлено: 11 Апреля, 2011 - 22:51:17
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
demot пишет:
что хочет таким хитрым способом проверять не подменялась ли сессия во время отправки формы.
Нет такой способ блокирует повторную отправку post. Вот зделайте у себя форму и внизу выведите значение, затем введите даные и обнавляйте страницу и увидите что даные будут выводится всегда, а если поставить такую систему то они выведутся только 1 раз до обновления страницы
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
demot
Отправлено: 11 Апреля, 2011 - 22:56:03
Частый гость
Покинул форум
Сообщений всего: 143
Дата рег-ции: Окт. 2010
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.