Формы и капча
1172 сообщения
#15 лет назад
1. При нажатии кнопки возврат в браузере все поля формы очищаются. Как сделать так, чтобы они оставались заполненными?2. Opera 10 кэширует абсолютно все, поэтому капча не обновляется при возврате. При этом, вызов капчи идет в виде <img src="captcha.php?random=рандомное_число" />. Кроме того, внутри captcha.php прописано
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0,pre-check=0", false);
header("Cache-Control: max-age=0", false);
header("Pragma: no-cache");
И не помогает. Как исправить?
Знатокам заранее спс.
155 сообщений
#15 лет назад
Самый быстрый но некрасивый способ - создать сессию.
897 сообщений
#15 лет назад
Вы лучше сделайте, чтобы юзерам не требовалось нажимать кнопку назад.
596 сообщений
#15 лет назад
socialist,1. Выводим форму со всеми полями.
2. Пользователь заполняет все необходимые поля + поле с капчей в котором возможно делает ошибку.
3. Пользователь жмет кнопку "сабмит".
4. Получаем данные формы, проверяем все поля, если поле капчи содержит ошибку - отправляем пользователю второй раз форму в которой у полей уже есть значения которые ввел пользователь (только поле капчи пустым нужно оставить + вывести ошибку : "типа капча была неправильно введена "

Гибкость и Логики как и на стороне клиента так и на стороне сервера = все довольны

6 сообщений
#15 лет назад
<img src="captcha.php?random=рандомное_число" /> - "random=рандомное_число" ну это вы зря. Для того, что бы Opera не кешировала, можно сделать так:
<img src="captcha.php?random=рандомное_число&bla=<?=microtime()?>" />
А по поводу числа, самый быстрый и безобидный это сессия.