Обработка форм, находящихся на каждой странице в CodeIgniterPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Обработка форм, находящихся на каждой странице в CodeIgniter

Сообщение Anonymous »

Я сделал это так: создал специальный контроллер, который обрабатывал бы мои формы, повторяющиеся на нескольких страницах, например somedomain.com/form/callmeback/, и пока все хорошо. Однако, как только валидатор выполнит свою работу, мне нужно либо вернуться на страницу, с которой была отправлена форма, со списком ошибок, чтобы отобразить или отправить сообщение, а затем вернуться на исходную страницу формы с сообщением об успехе.

Каким будет «лучший» способ сделать это?

Пока мои мысли задерживаются на использовании $_SERVER['HTTP_REFERER'] или скрытого поле с current_url() в качестве значения, а затем просто введите заголовок('Location:'.$_POST['ref']), но это не позволит мне отправлять обратно ошибки проверки.

[EDIT]

В конце концов я решил свою проблему, используя функцию флэш-данных сеанса codeIgniter

Код: Выделить всё

//redirect back to source
if($_SERVER['HTTP_REFERER'] && strpos($_SERVER['HTTP_REFERER'], base_url()) !== false) {
//do form handling stuff here
$this->session->set_flashdata('callmeback_errors', validation_errors());
header('Location:' . $_SERVER['HTTP_REFERER']);
} else {
//invalid referer, do nothing say nothing, pretend the page doesn't exist
show_404();
}
спасибо за идеи :)

Подробнее здесь: https://stackoverflow.com/questions/139 ... odeigniter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»