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

Форум PHP

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

 

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

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

тема: Как вернуть пользователя для правки данных формы при помощи PHP
 
 автор: roma67   (28.06.2012 в 03:14)   письмо автору
 
 

Как вернуть для исправления данных формы при помощи PHP
Можно ли использовать, что-то кроме JavaScript -ом history.back(1), получив из Кэш страниц браузера

А можно ли вернуть на предыдущую страницу при помощи PHP, для правки данных формы, например отправив какой то заголовок браузеру

( на header ругается, Warning: Cannot modify header information - headers already sent by)

  Ответить  
 
 автор: cheops   (28.06.2012 в 06:01)   письмо автору
 
   для: roma67   (28.06.2012 в 03:14)
 

>( на header ругается, Warning: Cannot modify header information - headers already sent by)
Обработчик располагайте не после, а до HTML-формы и вообще любого вывода в окно браузер. HTTP-заголовки отправляются перед телом документа и PHP сообщает, что тело документа уже начало формироваться, заголовки невозможно отправить.

  Ответить  
 
 автор: roma67   (28.06.2012 в 07:38)   письмо автору
 
   для: cheops   (28.06.2012 в 06:01)
 

Так все равно, не перекинуть на страницу с формой для редактирования данных.
Пользователю все сначала начинать надо

Меня интересует эквивалент JavaScript history.back(1).
Как вернуть, без JavaScript????????????

  Ответить  
 
 автор: confirm   (28.06.2012 в 08:21)   письмо автору
 
   для: roma67   (28.06.2012 в 07:38)
 

Нет эквивалентов JavaScript history.back(1), как и не может заголовок передать POST данные.
Есть сессии, не удовлетворяет, есть база в конце концов, возвращайтесь.

  Ответить  
 
 автор: roma67   (28.06.2012 в 08:37)   письмо автору
 
   для: confirm   (28.06.2012 в 08:21)
 

Заголовок конечно не может передать POST данные документа, это по определению
В остальном, спасибо.

  Ответить  
 
 автор: confirm   (28.06.2012 в 08:56)   письмо автору
 
   для: roma67   (28.06.2012 в 08:37)
 

Не за что.
Лучше подумать, что данные истории, это вред для стороны принимающей, так как браузер не в состоянии сообщить серверу, что это не добавление, а редактирование добавленного. Тут в пору о защите от дублирования думать, а не как специально такое сделать.

  Ответить  
 
 автор: roma67   (28.06.2012 в 08:59)   письмо автору
 
   для: confirm   (28.06.2012 в 08:56)
 

Как раз у меня из-за защиты и получается проблема тут.
А про защиту, если не договаривать, от кого и где(атаки ботов, различный взлом), можно долго пустоту перемалывать.
А про сессию и куку, для сохранности данных, что то в голову мысль не приходила.

  Ответить  
 
 автор: confirm   (28.06.2012 в 09:06)   письмо автору
 
   для: roma67   (28.06.2012 в 08:59)
 

Значит надо описывать проблемы в вопросе, тогда не будет пустого в ответе.
Что касается как защититься, то думаю о подобном и в этом разделе можно найти много полезного, нужно только поискать.

  Ответить  
 
 автор: roma67   (28.06.2012 в 09:16)   письмо автору
 
   для: confirm   (28.06.2012 в 09:06)
 

Мне ответ нравится, полностью, если действительно нет эквивалента JavaScript history.back(1) в PHP.
Вопрос не по теме:"А если делать премодерацию в сессии или куке, до подтверждения данных автора?"
Заманчивым показалось?

  Ответить  
 
 автор: confirm   (28.06.2012 в 11:12)   письмо автору
 
   для: roma67   (28.06.2012 в 09:16)
 

Если предполагается редактирование данных до помещения их в базу, то это следует предусмотреть на стадии разработки скрипта. В этом случае первичная форма, это команда для сервера "Запомнить без сохранения", а следующие пришедшие данные от формы, это команда "Редактировать ранее запомненное". И пока не поступит команда "Сохранить", можно возвращаться к этим данным сколько угодно раз. Но как только произошло сохранение, все "шатания" и редактирования исключаются.
Если же данные сохраняются сразу, то редактирование их, это уже редактирование существующего, и других "побочных" данных просто не должно быть.
Где временно запомнить, это уже как нравится.

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

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