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

Форум PHP

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

 

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

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

тема: обработка форм php и smarty
 
 автор: TOYa   (12.10.2008 в 14:38)   письмо автору
 
 

Есть форма, после ее заполнения делаетса ее обработка и данние которые ввели сбиваются, форма приобретает начальный вид, нужно сделать чтоб варианты выбора сохранялисбь после отправки формы...как ето сделать, используэтся smarty и php, возможно примеры кода...

  Ответить  
 
 автор: sim5   (12.10.2008 в 16:33)   письмо автору
 
   для: TOYa   (12.10.2008 в 14:38)
 

Дело не в Смарти как таковом, а в способе определения и вывода переменных. Например, есть форма с одним полем с именем name, которая передается методом POST. Пусть файл обработчик формы выдает ее по умолчанию, ну и естественно при ошибках. Тогда:
<?
//определяем переменную, которой будем присваивать значение поля формы
$name = isset($_POST['name']) ? trim($_POST['name']) : "";
//выводим форму
echo "<form action=\"\" method=\"post\">
<input type=\"text\" name=\"name\" value=\"" 
.$name"\">
</form>"
;
?>

Если форма не приходила, значит значение переменной $name будет пустое, с набором же данных пользователем и их отправкой, она получит эти значения. Проверяя прием данных от пользователя, вы должны опредлять ошибки, и если таковые есть, то выводить вновь эту форму, а это значит, что данные ранее введеные пользователем будут возвращены ему.
Разница с применением Смарти только в том, что вы должны передавать эти переменные шаблону, как:

$smarty->assign("name", $name);
Затем подключить соответсвующий шаблон, и в шаблоне страницы
для формы подставить эту переменную Смарти  
<input type="text" name="name" value="{$name}">

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

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