|
|
|
| хочу сделать чтоб форма запускалась через функцию, например основной скрипт
<?php
// подключение файла с функциями
include 'competitor.function.php';
// проверяем была ли заполнена форма или нет
if ($_SERVER['REQUEST_METHOD'] == 'GET')
{
small_questionnaire(array());
}
else
{
presurvey_small_questionnaire(array());
}
// далее скрипт записи данных в БД
.....
?>
|
далее файл с функциями
<?php
// функция отображения формы
function small_questionnaire()
{
<div align="center">
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" name="small_questionnaire" method="post">
<table cellpadding="0" cellspacing="5" border="0" width="50%">
<tr>
<td>Имя: </td>
<td><input type="text" name="name" value="<?php echo $_POST['name']; ?>" size="25" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Сохранить" name="save" /></td>
</tr>
</table>
</form>
</div>
<?php
return array();
}
// отображение результата
function presurvey_small_questionnaire()
{
?>
<div align="center">
<table cellpadding="0" cellspacing="5" border="0" width="50%">
<tr>
<td>Имя: </td>
<td><?php echo $_POST['name']; ?></td>
</tr>
<tr>
<td><input type="submit" value="Сохранить" name="edit" /></td>
<td><input type="submit" value="Редактировать" name="save" /></td>
</tr>
</table>
</div>
<?php
return array();
}
?>
|
Как сделать, чтоб при нажатии кнопки редактировать вызывалась первая функция, но при этом сохранялись ранее заполненые данные и форма отображалась с ранее заполненными полями.
А если сохранить, то выполнялся скрипт записи введеных данных в БД, умен\я при нажатии кнопок данные теряются, с функциями никогда не работал )) | |
|
|
|
|
|
|
|
для: Bvz
(26.04.2009 в 09:44)
| | Встречный вопрос - к чему все эти премудрости? У вас эта форма универсальная на все случаи жизни? | |
|
|
|
|
|
|
|
для: sim5
(26.04.2009 в 10:33)
| | собственно нет, но будет встречаться в нескольких местах, да и с работой функций хотелось бы разобраться )) | |
|
|
|
|
|
|
|
для: Bvz
(26.04.2009 в 11:29)
| | Вот что такое "сохранялась функция", хоть убейте, я не знаю, такого понятия даже представить себе не возможно. А что бы все нормально работало, то нужно проверять не метод передачи (как вы это делаете), а отправку формы, а форму выдавать по запросу и при ошибках ввода, и тогда все будет работать.
Вообще же, достаточно было бы просто подключать необходмые скрипты. | |
|
|
|
|
|
|
|
для: sim5
(26.04.2009 в 11:58)
| | > Вот что такое "сохранялась функция", хоть убейте, я не знаю
я тоже не знаю это вы что-то придумали, я такого не писал, если внимательно прочитать
>А что бы все нормально работало, то нужно проверять не метод передачи (как вы это делаете), а отправку формы
т.е. вместо
if ($_SERVER['REQUEST_METHOD'] == 'GET')
{
small_questionnaire(array());
}
|
писать
if( !empty($_POST) )
{
small_questionnaire(array());
}
|
так?
>форму выдавать по запросу и при ошибках ввода
понятно
>Вообще же, достаточно было бы просто подключать необходмые скрипты.
а вот это идея, спасибо | |
|
|
|
|
|
|
|
для: Bvz
(26.04.2009 в 12:10)
| | Нет не так! Кто и когда у вас вызывает форму? Автор, который будет редактировать нечто свое. Как это он может сделать? По ссылке с каким-то параметром, вот определяйте это параметр и производите подключение необходимого - вывод формы. А уж проверку полей формы проверяйте по ее приходу, и если есть ошибки ввода, то опять форму на вывод, ну а если нет, то.... Тут столько мого уже писалось об этом, что ну просто ей богу, лень повторятся. | |
|
|
|
|
|
|
|
для: sim5
(26.04.2009 в 12:24)
| | ок, есть куда думать, не поверите сегодня перечитал все темы здесь выданные по поиску $_POST )) из 40 выданных только максимум 5-6 толковыми оказались, поэтому предпочитаю "живую беседу"
выводы:
1. ухожу (пока) от использования функций
2. все реализую в одном скрипте
отвечая на ваш вопрос
> Кто и когда у вас вызывает форму? Автор, который будет редактировать нечто свое. Как это он может сделать? По ссылке с каким-то параметром, вот определяйте это параметр и производите подключение необходимого - вывод формы.
уже то, что человек перешел на эту страницу, говорит о том, что он намерен заполнить форму, остается проверить не являеться ли это повторным заполнением ))
и еще по поводу
> А уж проверку полей формы проверяйте по ее приходу, и если есть ошибки ввода, то опять форму на вывод, ну а если нет, то....
есть масса валидаторов на js, которые проверят корректность вводимых данных без перезагрузки, их то можно использовать )) | |
|
|
|
|
|
|
|
для: Bvz
(26.04.2009 в 12:36)
| | >уже то, что человек перешел на эту страницу, говорит о том, что....
Само собой разумеется, если это один скрипт, но вы же говорили о многих местах, а это....
Мне JS ничего не стоит подменить, и тогда? | |
|
|
|
|
|
|
|
для: sim5
(26.04.2009 в 12:40)
| | >>уже то, что человек перешел на эту страницу, говорит о том, что....
>Само собой разумеется, если это один скрипт, но вы же говорили о многих местах, а это....
я потому и хочу использовать функцию т.к. с помощью этой формы можно как добавлять, так и редактировать данные, т.е. не дублировать код, особенно, если это большая таблица, почему прошу подсказать как из формы сделать функцию, т.е. в зависимости от условий вызова одна и та же форма выполняла как минимум 2 разные функции...вопрос в силе ))
>
Мне JS ничего не стоит подменить, и тогда?
и каким образом? там если пока не введется корректный текст батон не станет активным?
вот например взгляните http://jquery.bassistance.de/validate/demo/ | |
|
|
|
|
|
|
|
для: Bvz
(26.04.2009 в 12:56)
| | Одна и та же фома никак не может выполнять и то, и другое. Вы уж это тогда должны определять своими скриптами - вернее, соответствующим запросом соответствующих скриптов. В противном случае форма должна передавать два различных параметра, по которым и определять чего она хочет.
Как подменить - молча. JS на клиенте, не забывайте об этом. Другое дело, если "без перезагрузки", вы имеете ввиду Ajax, и данные проверяются на сервере. Остальное - не надо рассказывать, что это большая трудность.... | |
|
|
|
|
|
|
|
для: sim5
(26.04.2009 в 13:03)
| | да, я имел ввиду ajax, его то можно использовать? | |
|
|
|
|
|
|
|
для: Bvz
(26.04.2009 в 13:12)
| | Как AJAX и нужно использовать в твоем случае. | |
|
|
|
|
|
|
|
для: Bvz
(26.04.2009 в 13:12)
| | А пишите "есть масса валидаторов на js, которые проверят корректность вводимых данных...." Такая проверка может рассматриваться как "первый эшелон", чисто для удобства клиента, не более того. А вот при Ajax, можно проверять данные на сервере, а вы возвращаете в форму то, что приходит, и проверки вообще не наблюдается никакой! | |
|
|
|
|
|
|
|
для: sim5
(26.04.2009 в 13:27)
| | но я проверкупока убрал, чтоб код не нагромождать, т.к. стоит пока другая задача )) | |
|
|
|