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

Форум PHP

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

 

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

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

тема: Обработка ошибок на форме и сохранение данных.
 
 автор: Worldmen   (24.03.2007 в 13:45)   письмо автору
 
 

Есть форма на странице, при помощи которой добавляю данные в БД.
При нажатии на кнопку формы, данные передаються в этотже файл и я их проверяю на заполнение (какие заполненыы, какие нет) и вывожу сообщение.
Но при этом данные на форме не сохраняються.
И я думаю как мне их оставлять на форме - передавать через переменную $_SESSION или $_POST.
А то код разростаеться и может стать неуправляемым.

   
 
 автор: dim0s   (24.03.2007 в 13:57)   письмо автору
 
   для: Worldmen   (24.03.2007 в 13:45)
 

Когда Вы выводите сообщение, что что-то неправильно заполнено, просто используйте

<a href="#" onclick="history.back();">вернуться</a>

А если все правильно, то наверное и сохранять не надо.

   
 
 автор: Worldmen   (24.03.2007 в 14:14)   письмо автору
 
   для: dim0s   (24.03.2007 в 13:57)
 

Почемуто не работает.
<a href="#" onclick="history.back();">вернуться</a>
Переходит на предыдущую страницу - а форма пуста.

   
 
 автор: dim0s   (24.03.2007 в 15:02)   письмо автору
 
   для: Worldmen   (24.03.2007 в 14:14)
 

У меня так везде работает.
Сообщение выводиться в том-же окне. В нем

a href="javascript:history.back (1);">Вернуться назад</a>

Не работает, только если используются какие нибудь редакторы. На простых формах - все нормально. Можете вот посмотреть здесь или здесь

   
 
 автор: Worldmen   (24.03.2007 в 16:20)   письмо автору
 
   для: dim0s   (24.03.2007 в 15:02)
 

Да работает. Это уменя чего-то заглючило.
Закрыл странцу и открыл новую.

Еще, при возврате показывает данные все кроме там где путь к файлу, почему ?
<input size="35" name="image1" type="file" id="image"/>

   
 
 автор: cheops   (24.03.2007 в 13:59)   письмо автору
 
   для: Worldmen   (24.03.2007 в 13:45)
 

Лучше через $_POST - этот массив автоматически сбрасывается, в отличие от $_SESSION.

   
 
 автор: Worldmen   (24.03.2007 в 14:16)   письмо автору
 
   для: cheops   (24.03.2007 в 13:59)
 

Так если $_POST автоматически сбрасываеться, какая в этом польза ?

Я сделал пока так :

<input  size="50" type="text" name="NameTovar" value="<? if (isset($_SESSION['name'])) echo $_SESSION['name'] ; ?>">

Пока работает. А переменные потом буду обнулять или уничтожать, еще не решил.
Этот код работает, когда я нажал кнопку на форме, потом проверяються переменные массива $_POST, если они есть - заносяться в масив $_SESSION
Если кто считает это неправильно, сообщите.

   
 
 автор: cheops   (25.03.2007 в 13:49)   письмо автору
 
   для: Worldmen   (24.03.2007 в 14:16)
 

>Так если $_POST автоматически сбрасываеться, какая в этом польза ?
Как только уходите со страницы формы и её обработчика - данные в $_POST уничтожаются автоматически, а в $_SESSION это нужно делать вручную, иначе, если пользователь возратится опять к HTML-форме - она будет уже заполнена предыдущими данными, а это не всегда удобно.

   
Rambler's Top100
вверх

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