У вас есть , чтобы сделать два post
с?
Я не знаю, как выглядят ваши файлы, но сейчас я предполагаю, что они все являются обычными php-файлами, которые вы дублируете для каждой из ваших страниц, когда вам нужно реализовать функциональность этой страницы, поэтому мой ответ будет попробуйте вписаться в это, но, как я уже сказал, я не знаю, как на самом деле выглядят ваши файлы, так что это может не соответствовать вашей работе.
Тем не менее, исходя из того, как я думаю вы используете ваши файлы, я бы посоветовал.
Вместо того, чтобы пытаться сделать две записи между страницами, почему бы просто не передать массив $ _POST методу в классе?
Например (в псевдокоде):
Ваш index.php (посты в get.php через AJAX):
<form action="/uses/ajax/to/post/to/get.php" method="post" name="data_form" id="data_form">
<input type="text" name="data" id="data" />
<input type="text" name="more_data" id="more_data" />
<input type="submit" value="Post this data" />
</form>
<script>
// Your ajax post code here
</script>
Ваш get.php:
<?php
$post_data = isset($_POST) ? $_POST : die('No post data was sent');
include($_SERVER['DOCUMENT_ROOT'] . '/Model_Object.php');
$Model_Object = new Model_Object();
// This would echo your response for the ajax
echo $Model_Object->create_something($post_data);
Затем вместо db.php вы можете создать класс Model (который включен в ваш get.php):
Model_Object.php:
<?php
class Model_Object {
public function create_something($post_data) {
$data = isset($post_data['data']) ? $post_data['data'] : '';
$more_data = isset($post_data['more_data']) ? $post_data['more_data'] : '';
// MySQL query here
$success = true;
if($success) {
return 'Completed';
}
return 'Failed';
}
public function create_something_else($post_data) {
return 'This can do a different MySQL query';
}
}
Это не лучший способ сделать это, но учитывая ваше объяснение вашего собственного кода и основываясь на том, как я думаю, что ваш код работает, это может быть решением для вас.
Что касается правильного подхода к MVC, я не знаю, как это лучше всего сделать, но когда я пишу приложения MVC с нуля, я настраиваю файл .htaccess
, чтобы направлять все запросы к root index.php
, который из URI будет решать, какой Controller
объект создать и какой метод в этом Controller
выполнить.
Этот метод может, например, содержать некоторый код для отображения представления или создать объект Model
для взаимодействия с базой данных.
Если будет создан Model
, он будет передавать всю соответствующую информацию в Controller
, а Controller
будет делать то, что ему нужно оттуда.
Например, если я перешел на /my_controller/my_action
, то файл index.php создаст объект My_Controller
, если он существует, и, если он существует, попытается выполнить в этом объекте метод с именем my_action
.
Надеюсь, это помогло вам, и мне жаль, если я неправильно понял.