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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Сохранение значения формы при переходе на другую страницу
 
 автор: uch   (14.04.2011 в 20:13)   письмо автору
 
 

Возникла проблема с сохранением значения в форме.
У меня есть форма с несколькими полями, в которых вводится произвольный текст. Форма передает данные для обработки другому скрипту и если все поля заполнены, текст помещается в базу данных.
Собственно проблема в том, что если не все поля заполнены, я выдаю сообщение об ошибке и прошу вернуться и заполнить все поля. Но когда возвращаешься, то поля очищаются.
Можно ли каким-то образом подставить введенные ранее данные в поля, чтобы не пришлось вводить их снова?

Покопался в интернете, советуют использовать сессии, но на мой взгляд это не очень красиво.

  Ответить  
 
 автор: cheops   (14.04.2011 в 21:12)   письмо автору
 
   для: uch   (14.04.2011 в 20:13)
 

>Покопался в интернете, советуют использовать сессии, но на мой взгляд это не очень красиво.
Да, это не удобно, но зато надежно, особенно, если форма у вас имеет несколько страниц. Если страница одна вполне можно обойтись POST-данными, разместив форму и её обработчик на одной странице (обработчик можно подключить при помощи include).

  Ответить  
 
 автор: uch   (14.04.2011 в 22:08)   письмо автору
 
   для: cheops   (14.04.2011 в 21:12)
 

А можно ли POST-данные загнать например в переменную и как-нибудь подставить в поле?

  Ответить  
 
 автор: cheops   (14.04.2011 в 23:13)   письмо автору
 
   для: uch   (14.04.2011 в 22:08)
 

POST-данные и так находятся в массиве $_POST, можно их использовать.

  Ответить  
 
 автор: uch   (15.04.2011 в 00:01)   письмо автору
 
   для: cheops   (14.04.2011 в 23:13)
 

Использовать можно примерно так?
<textarea class=input name=body rows=10 cols=60><?php echo htmlspecialchars($body); ?></textarea>

Не соображу только как мне при возврате на страницу с формой подставлять.

  Ответить  
 
 автор: cheops   (15.04.2011 в 00:27)   письмо автору
 
   для: uch   (15.04.2011 в 00:01)
 

Да, совершенно верно.

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

  Ответить  
 
 автор: uch   (15.04.2011 в 13:15)   письмо автору
 
   для: cheops   (15.04.2011 в 00:27)
 

Я еще попробовал выводить такое сообщение:
<a href=form.php onClick='history.back()'>Вернуться назад</a>

Но, переходя по ссылке. поля все же очищаются.

Спасает только в браузере кнопка "Назад".

  Ответить  
 
 автор: deimand   (15.04.2011 в 15:50)   письмо автору
 
   для: uch   (15.04.2011 в 13:15)
 

Мне как раз подобную штуку сейчас надо делать, я чуть позже покажу удобное для меня решение, а там решишь как тебе сделать.

  Ответить  
 
 автор: deimand   (17.04.2011 в 01:11)   письмо автору
 
   для: uch   (15.04.2011 в 13:15)
 

Почему у вас в профиле не указан e-mail?

  Ответить  
 
 автор: uch   (17.04.2011 в 18:02)   письмо автору
 
   для: deimand   (17.04.2011 в 01:11)
 

Сейчас указал.
Буду благодарен за помощь.

  Ответить  
 
 автор: Красная_шляпа   (14.04.2011 в 21:12)   письмо автору
 
   для: uch   (14.04.2011 в 20:13)
 

сесси некрасиво, можно ещё в куки запихнуть, в последних версиях браузеров есть локальное хранилище(SQLite) с помощью javascript можно создавать таблицы и сохранять данные(HTML5)

  Ответить  
 
 автор: deimand   (15.04.2011 в 05:10)   письмо автору
 
   для: Красная_шляпа   (14.04.2011 в 21:12)
 

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

Сессия самый надежный вариант будет.

  Ответить  
 
 автор: Tamplier   (15.04.2011 в 17:59)   письмо автору
 
   для: deimand   (15.04.2011 в 05:10)
 

Можно и на CURL замутить...

  Ответить  
 
 автор: deimand   (16.04.2011 в 00:16)   письмо автору
 
   для: Tamplier   (15.04.2011 в 17:59)
 

Это как?

  Ответить  
Rambler's Top100
вверх

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