Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Разные обработчики для одной формы
Форумы портала PHP.SU » » Вопросы новичков » Разные обработчики для одной формы

Страниц (1): [1]
 

1. Perun - 14 Марта, 2019 - 18:07:09 - перейти к сообщению
Суть вопроса - есть форма. На ней несколько кнопок. По нажатию одной, происходит обработка в одном отдельном файле. Нажатие второй кнопки обрабатывается в другом отдельном файле.
Как это правильно организовать? Делать две отдельный формы или форму в форме и каждой указывать свой обработчик?
2. dcc0 - 14 Марта, 2019 - 20:13:19 - перейти к сообщению
Обе схемы должны работать
1)
CODE (html):
скопировать код в буфер обмена
  1. <form>
  2. input name1
  3. </form>
  4.  


CODE (html):
скопировать код в буфер обмена
  1. <form>
  2. input name2
  3. </form>
  4.  

2)
CODE (html):
скопировать код в буфер обмена
  1. <form>
  2. input name1
  3. nput name2
  4. </form>


Во втором случае проверяется
PHP:
скопировать код в буфер обмена
  1. if(isset($_GET['name1'])) {
  2. код какой-то
  3. }


PHP:
скопировать код в буфер обмена
  1. if(isset($_GET['name2'])) {
  2. код другой какой-то
  3. }


Если я правильно вопрос понял. Можно в одном файле обрабатывать.
3. Perun - 14 Марта, 2019 - 21:23:14 - перейти к сообщению
dcc0 пишет:

Во втором случае проверяется
PHP:
скопировать код в буфер обмена
  1. if(isset($_GET['name1'])) {
  2. [b]код какой-то[/b]
  3. }


PHP:
скопировать код в буфер обмена
  1. if(isset($_GET['name2'])) {
  2. [b]код другой какой-то[/b]
  3. }


Если я правильно вопрос понял. Можно в одном файле обрабатывать.

Вроде правильно)) Общая обработка формы в одном файле, обработчики по нажатию каждой кнопки - раздельно.
Эти коды предполагается иметь каждый в отдельном файле.
Т.е. по условию, в зависимости от того, какая нажата кнопка можно подключать в код вместо код какой-то ссылку на необходимый обработчик через include?
4. dcc0 - 14 Марта, 2019 - 21:26:56 - перейти к сообщению
Цитата:
Т.е. по условию, в зависимости от того, какая нажата кнопка можно подключать в код вместо код какой-то ссылку на необходимый обработчик через include?

Да. Можно.
Но сейчас кто-нибудь придет и скажет, что так лучше не делать.
По крайней мере стоит обернуть в функции то, что будет в этих файлах.
(Добавление)
Т.е.
в файле
который
подключается

В родительском файле,
где код после условия:

PHP:
скопировать код в буфер обмена
  1.  
  2. if(isset($_GET['name2'])) {
  3. require_once 'some_file.php';
  4. somefuncion ();
  5. }
  6.  
5. Perun - 14 Марта, 2019 - 21:57:02 - перейти к сообщению
dcc0 пишет:
В родительском файле,
где код после условия:

PHP:
скопировать код в буфер обмена
 
if(isset($_GET['name2'])) {
require_once 'some_file.php';
somefuncion ();
}
 

Зачем тогда в основном файле и подключение файла и вызов этой же функции?
Может тогда просто обработчик создавать как отдельную функцию с и вызывать в теле основного файла из файла функций без всяких include/require?
6. dcc0 - 14 Марта, 2019 - 23:33:03 - перейти к сообщению
Цитата:
Может тогда просто обработчик создавать как отдельную функцию с и вызывать в теле основного файла из файла функций без всяких include/require?




Можно коды обработчиков положить в функции, в один файл и вызывать их по условию.
В примере выше - простое разделение кода - функции из файлов подгружаются по необходимости.
Вызов функции из основного файла нужен для того, чтобы при обращении напрямую к файлу с обработчиком, ненароком не выполнить код. Файл с функцией, которая в этом файле не вызывается, условно-относительно безопасен при прямом обращении к нему из браузера, в обход логики.
7. Perun - 15 Марта, 2019 - 00:29:13 - перейти к сообщению
dcc0 пишет:
Цитата:
Может тогда просто обработчик создавать как отдельную функцию с и вызывать в теле основного файла из файла функций без всяких include/require?




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

спасибО!

 

Powered by ExBB FM 1.0 RC1