Каков наилучший способ вызова функции из формы действия в PHP? - PullRequest
0 голосов
/ 01 декабря 2011

Я хочу вставить данные в базу данных MySQL с помощью PHP и XHTML.

У меня есть функции базы данных в одном файле: database.inc.php, в этом файле я написал много функций: function insert_city($_POST), function insert_state($_POST), function insert_customer($_POST) и т. Д.

Я хотел бы знать, как лучше всего вызывать эти функции. Для каждой транзакции у меня есть файл XHTML.

Например. Это структура моей addcustomer формы:

<form action="addcustomer.php" method="POST">
  <input>...
  </input>
</form>

Из этого файла я звоню в другой PHP файл с именем addcustomer.php. Этот файл имеет более или менее следующее содержание:

<?php
include('database.inc.php');
if (insert_state($_POST)){
  echo "Good";
} else {
  echo "Bad insertion";
}
?>

При таком подходе я теряю свои формы, после того, как пользователь вставляет свои данные, я хотел бы показать форму и сообщение об ошибке или успех.

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

Советы, советы или замечания?

1 Ответ

1 голос
/ 01 декабря 2011

Установите действие формы на "" или $_SERVER['PHP_SELF'], чтобы при отправке формы загружался один и тот же файл.

Затем в верхней части этого файла вы добавляете что-то вроде:

if ( $_SERVER['REQUEST_METHOD'] == 'post' ) {
    require( 'addcustomer.php' );
    if (insert_state($_POST)){
        $form_status = "Good";
    } else {
        $form_status =  "Bad insertion";
    }
}

Затем вы можете использовать $ form_status для отображения сообщения в вашей форме.

В идеале, хотя вы хотите отделить код от HTML, но это другой урок.

...