Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Возврат из скрипта

Сообщения:  [1-10]   [11-13] 

 
 автор: valery_1   (04.03.2009 в 22:01)   письмо автору
 
   для: sim5   (04.03.2009 в 12:30)
 

Спасибо за грамотную подсказку, успехов.

  Ответить  
 
 автор: sim5   (04.03.2009 в 12:30)   письмо автору
 
   для: valery_1   (04.03.2009 в 12:07)
 

Пользователю нужно выдавать форму только в двух случаях - при первом запросе страницы (по умолчанию), и при ошибках ввода. Есть еще случай, когда это нужно делать - при поэтамном заполнении формы, при возврате на шаг назад, например, для редактирования. Но это иной случай и вам, как я понимаю, не нужен. Ваш скрипт должен быть разбит на два основных логических блока:

1. Прием формы, если она отправлена, и обработка принятых ее полей. Если ввод содержит ошибки, то переменная ошибок заполняется соответствующими сообщениями. На этом будет закончена работа этого блока. Если же ошибок ввода нет, то записываем принятые данные и делаем перенаправление. Перенаправление может быть как на саму себя (страницу), так и на другую страницу, при этом POST/GET данные будут сброшены - это послужит защитой от F5.
2. Вывод страницы по умолчанию и ошибках ввода. Проверяется - если не было передачи формы от клиента, или были ошибки ввода (переменная ошибок не пуста), то выводим форму пользователю. При этом, если вы (лучше всего перед блоком 1) сделаете инициализацию переменных, которым будут присваиваться значения соответствующих полей формы (при приеме формы), и эти переменные будут служить значениями для атрибутов value формы, то пользователю не приедться вводить заново, уже ранее введенные данные.

Воспольуйтесь поиском в этом разделе, это обсуждалось уже не раз, с приведением конкретных примеров, не охота все писать заново.

  Ответить  
 
 автор: valery_1   (04.03.2009 в 12:07)   письмо автору
 
   для: sim5   (04.03.2009 в 12:04)
 

А чтобы сообщить пользователю о неккоретно введенных данных

  Ответить  
 
 автор: sim5   (04.03.2009 в 12:04)   письмо автору
 
   для: nek-v   (04.03.2009 в 11:41)
 

При успехе отдаем форму, и при не успехе, ее же родимую получается, и зачем?

  Ответить  
 
 автор: nek-v   (04.03.2009 в 11:41)   письмо автору
 
   для: valery_1   (04.03.2009 в 09:50)
 

ну так пишите оброботчик и форму одним файлом, а дальше условиями
<?php
if($_POST)
{
// обработчик
// в обработчике условие
// при успешном завершении отдаем форму 
}
else
{
//Форма
}
?>

  Ответить  
 
 автор: Trianon   (04.03.2009 в 11:24)   письмо автору
 
   для: valery_1   (04.03.2009 в 09:50)
 

ответ из обработчика можно вернуть браузеру.
А не на какую ни на форму.

  Ответить  
 
 автор: valery_1   (04.03.2009 в 09:50)   письмо автору
 
   для: Trianon   (04.03.2009 в 09:22)
 

Ответ из обработчика

  Ответить  
 
 автор: Trianon   (04.03.2009 в 09:22)   письмо автору
 
   для: valery_1   (04.03.2009 в 09:09)
 

>Как вернуть на форму ?
Как вернуть на форму кого?

  Ответить  
 
 автор: valery_1   (04.03.2009 в 09:09)   письмо автору
 
   для: Волки   (04.03.2009 в 08:51)
 

А как быть с возвратом ответа exit("ответ"); и вообще куда ведет выход по стандартной спецификации.

  Ответить  
 
 автор: Волки   (04.03.2009 в 08:51)   письмо автору
 
   для: valery_1   (04.03.2009 в 07:14)
 

Ну зачем сразу exit ???
header ("Location: ".$_SERVER['PHP_SELF']) попробуйте

  Ответить  

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования