|
|
|
| Всем привет!)
Подскажите нужно сделать, чтобы в начале работы скрипта выводилось сообщение.
далее скрипт обновляется, но выполняются уже другие действия. Как сделать так чтобы первоее собщение уже не выводилось?
Спасибо. | |
|
|
|
|
|
|
|
для: *m*
(08.07.2009 в 14:23)
| | обновляется скрипт или страница?
Если обновляется страница - скрипт начинает работать заново. | |
|
|
|
|
|
|
|
для: Trianon
(08.07.2009 в 14:27)
| | щас попробую объяснить:
сначала призагрузке странице появляется сообщение (какоенибудь)
далее пользователь соглашается (нажимает кнопку формы данные летят обработчику и если согласие принято) ему задается вопрос..
так вот как сделать чтобы сообщение которое выводиться в начале больше не показывалось??
дополнюсь, пользователь попадает на страницу переходом по ссылке. | |
|
|
|
|
|
|
|
для: *m*
(08.07.2009 в 14:43)
| | >сначала призагрузке странице появляется сообщение (какоенибудь)
>далее пользователь соглашается (нажимает кнопку формы данные летят обработчику и если согласие принято) ему задается вопрос..
>так вот как сделать чтобы сообщение которое выводиться в начале больше не показывалось??
>дополнюсь, пользователь попадает на страницу переходом по ссылке.
либо сделать обработчиком формы скрипт, отличный от того, который эту форму рисует.
Либо перед выводом сообщения проверять, получены или нет данные из формы.
И выводить только в том случае, если не получены. | |
|
|
|
|
|
|
|
для: Trianon
(08.07.2009 в 15:02)
| | дело в том что сообщение выводиться простым текстом, оно загружается самым первым...
(страница открывается по ссылке, не через форму)
а далее уже когда задаются вопрос идет проверка данных формы первого сообщения перед выводом вопроса..
>сделать обработчиком формы скрипт, отличный от того, который эту форму рисует.
вот здесь не совсем понятно, причем тут мой вопрос? | |
|
|
|
|
|
|
|
для: *m*
(08.07.2009 в 16:11)
| | Так про форму Вы сами упомянули. | |
|
|
|
|
|
|
|
для: *m*
(08.07.2009 в 14:43)
| | Воспользуйтесь ссесией. | |
|
|
|
|
|
|
|
для: sim5
(08.07.2009 в 15:05)
| | а как с помощью сессеий такое решить?
чуть подробнее можно.. | |
|
|
|
|
|
|
|
для: *m*
(08.07.2009 в 16:07)
| | Просто в скрипте проверяете, установлена ли некая сессионная переменная, и если установлена, то не выдавать более сообщение и еже с ним действия. В свою очередь, эта сессионная переменная устанавливатеся при первой выдаче сообщения.
Можете и сразу установить эту переменную в сессии, булевого типа, например, установив изначально его в false, а при выдаче сообщения в true, либо 0 и 1.... в общем как будет более удобно в контексте задачи вашей. | |
|
|
|
|
|
|
|
для: sim5
(08.07.2009 в 16:25)
| | опа спасибо, так и сделаю) | |
|
|
|
|
|
|
|
для: sim5
(08.07.2009 в 16:25)
| | собсна сделал так:
<?
if( $_SESSION['info'] == false) {
// выводим сообщение
и
$_SESSION['info'] = true;
}
//далее проверяем данные и задаем вопрос..
?>
|
все работает, сообщение не появляется боле..
но вот новая проблема, теперь если пользователь решит вернуться на начало страницы, он увидит пустоту, поскольку, переменная info уже true.. и будет true еще 24 минуты поскольку, я не менял конфигу время жизни сессии.., если не делать нулевым время жизни сессии, как можно решить подобное? | |
|
|
|
|
|
|
|
для: *m*
(09.07.2009 в 13:52)
| | Вообще же достаточно if(!$_SESSION['info']) ..... else.
Что значит вернутся на начало страницы, и что это за страница мне не ведомо, и стоит ли громоздить все в кучу на данной странице (прверки и вывод результатов, например).... | |
|
|
|
|
|
|
|
для: sim5
(09.07.2009 в 14:29)
| | >Вообще же достаточно if(!$_SESSION['info']) ..... else.
будьте добры пример, не догоняю..
>Что значит вернутся на начало страницы, и что это за страница мне не ведомо, и стоит ли громоздить все в кучу на данной странице (прверки и вывод результатов, например)....
я имел ввиду, страницу на которой выполняется скрипт. Тоесть когда пользователь попадает на страницу ему выводиться сообщение, а далее задается вопрос, но если прейти в браузере назад, то есть в начало этой страницы, на то место откуда она загрузилась то пользователь уже ничего не увидит..
а на этой странице ничего и не награмаждено, там проверка всего одного параметра.. | |
|
|
|
|
|
|
|
для: *m*
(09.07.2009 в 20:21)
| |
<?
$a = false;
echo $a == false ? "a = false" : "a = true";
echo !$a ? "a = false" : "a = true";
?>
|
И в первом, и втором случае будет выведено "a = false", так как записи условия $a == false и !$a идентичны по условию.
! в РНР (да и не только в нем) означает логическое отрицание, то есть, запись !$a по смыслу звучит так:
ИСТИНА (TRUE), если $a не равна ИСТИНЕ (TRUE), а является ЛОЖЬЮ (FALSE)
То есть, вместо if ($_SESSION['info'] == false) достаточно написать if(!$_SESSION['info']).
Перейти назад как, по истории браузера? Да и зачем тогда прятать чего-то, или наоборот выводить опять нечто, чего уже видели? Я задачи, логики работы вашего скрипта не представляю, мне трудно сказать что либо или посоветовать. | |
|
|
|