[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: [HTML FORM] возврат <textarea>
Forceman
Привет всем! Сперва схему выложу, для более наглядного примера:
user posted image

Что необходимо:
Вернуть текст из формы который передавался массивом $_POST;

По форме: есть <textarea>, если все коректно и проходит обработчик, то заносим в базу и все ок. Если же форма не удовлетворяет требованиям обработчика, следовательно возвращает FALSE, то открывается этот же файл $_SERVER['PHP_SELF'], только уже с ошибкой, что форма заполнена не правильно. Ниже ошибка есть кнопка НАЗАД содержащая такой код:

<input type='button' value='ВЕРНУТЬСЯ НАЗАД' onclick='history.go(-1)'>


При ее нажатии все нормально, возвращает назад, открывает эту же форму для ввода текста, но уже пустую. Была идея передавать текст в <input type = 'hidden'>, ан нет... там textarea используется, а не type=text.

Вопрос: Какими средствами (PHP, JS, ...) можно вернуть форму, после того как она была отправлена на страницу ошибки? Чот не догоняю совсем поэтому схему нарисовал подробную.

Еще раз прошу заметить что все действия выполняются в одном файле.

Спасибо всем кто отписался по теме!



Спустя 4 минуты, 33 секунды (6.02.2012 - 20:24) GET написал(а):
Может я что то не понял, но почему бы то что было в форме не сделать переменной сессии

<textarea name="ops" cols="24" rows="5" maxlength="250"><?php echo htmlspecialchars($_SESSION['ops_s']);?></textarea>

Спустя 2 минуты, 38 секунд (6.02.2012 - 20:26) Invis1ble написал(а):
Думаю, нужно забыть про history.go(-1) (кстати, это вроде не кроссбраузерно, если не ошибаюсь) и выводить ошибки после сабмита рядом с формой.
Значение в textarea можно подставлять из $_POST (или какой у тебя там метод).

Спустя 4 минуты, 16 секунд (6.02.2012 - 20:31) Forceman написал(а):
Цитата (A.B.C. @ 6.02.2012 - 17:24)
сделать переменной сессии

Да вот думал о таком варианте, интересно выслушать другие решения.

Спустя 2 минуты, 25 секунд (6.02.2012 - 20:33) Forceman написал(а):
Цитата (Invis1ble @ 6.02.2012 - 17:26)
Думаю, нужно забыть про history.go(-1) (кстати, это вроде не кроссбраузерно, если не ошибаюсь) и выводить ошибки после сабмита рядом с формой.
Значение в textarea можно подставлять из $_POST (или какой у тебя там метод).

по поводу history.go(-1) незнаю, все воркает норм smile.gif

как в <textarea> подставить значение, если форма была на 2 страницы назад. Уже потерялся массив $_POST на странице с ошибкой.

Спустя 4 минуты, 43 секунды (6.02.2012 - 20:38) Jack_White написал(а):
Тогда либо сесии либо куки

Спустя 6 минут, 8 секунд (6.02.2012 - 20:44) GET написал(а):
Forceman

Сессии и не надо изобретать велосипед они для этого и созданны

Спустя 7 минут, 11 секунд (6.02.2012 - 20:51) sebastjan написал(а):
Я не использую ни сессии ни куки, при обработке полей формы и некоректности, записываю флаги к каждому полю, в итоге проверки если флаги пустые вывожу сообщение, форма отправленна, если нет то вывожу эту же форму с введёнными даннми(чтоб не писали по новой) в зависемости от флага ошибки пишу у нужного поля сообщение о некоректности.
Может быть я не правильно понял сам вопрос, но понял так.

Спустя 1 минута, 27 секунд (6.02.2012 - 20:53) Forceman написал(а):
Пардон, не сразу сообразил. Создал сессию со значением $_POST массива, все окей, теперь воркает. Тему можно закрыть, всем спасибо!

Спустя 5 минут, 24 секунды (6.02.2012 - 20:58) Игорь_Vasinsky написал(а):
сессии, куки... вы ещё в файлы сохраняйте... у вас уже есть $_POST или $_GET

а чё за 2х страничная форма - на которой 1я форма проверяется на второй???? это про где теряется POST...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.