У меня есть один файл с формой, который включает другой для обработки этой формы. Файл с формой вызывает функцию из включенного файла для записи данных в базу данных, а затем я возвращаю $ insert_id из этого поста, чтобы я мог ссылаться на него в выводе.
Например, когда вы заполняете форму на странице, данные отправляются в базу данных из отдельного файла, затем я хочу сослаться на идентификатор, который был задан в исходном файле, из которого я вызвал функцию.
Фрагмент файла с формой, включающей файл процесса db:
if (isset($_POST['EC_doPost']))
{
$statusPost = $_POST['EC_statusPost'];
echo "HERE: " . $this->addEvent($title, $location, $linkout, $attendees, $description, $startDate, $startTime, $endDate, $endTime, $accessLevel, $postID) . "There.";
$data = array
(
'post_content' => $output . "TESTING THIS: " . $event_id,
'post_title' => $title,
'post_date' => date('Y-m-d H:i:s'),
'post_category' => $wpdb->escape($this->blog_post_author),
'post_status' => $statusPost,
'post_author' => $wpdb->escape($this->blog_post_author),
);
}
А вот функция (во включенном файле), которая должна возвращать insert_id:
function addEvent($title, $location, $linkout, $attendees, $description, $startDate, $startTime, $endDate, $endTime, $accessLevel, $postID)
{
$postID = is_null($postID) ? "NULL" : "'$postID'";
$location = is_null($location) ? "NULL" : "'$location'";
$description = is_null($description) ? "NULL" : "'$description'";
$startDate = is_null($startDate) ? "NULL" : "'$startDate'";
$endDate = is_null($endDate) ? "NULL" : "'$endDate'";
$linkout = is_null($linkout) ? "NULL" : "'$linkout'";
$attendees = is_null($attendees) ? "NULL" : "'$attendees'";
$startTime = is_null($startTime) ? "NULL" : "'$startTime'";
$accessLevel = is_null($accessLevel) ? "NULL" : "'$accessLevel'";
$endTime = is_null($endTime) ? "NULL" : "'$endTime'";
$sql = "INSERT INTO `$this->mainTable` (`id`, `eventTitle`, `eventDescription`, `eventLocation`, `eventLinkout`, `eventAttendees`,`eventStartDate`, `eventStartTime`, `eventEndDate`, `eventEndTime`, `accessLevel`, `postID`) VALUES (NULL , '$title', $description, $location, $linkout, $attendees, $startDate, $startTime, $endDate, $endTime , $accessLevel, $postID);";
$this->db->query($sql);
$landingpage = "'http://www.google.com'";
$status = "'1'";
$title = "'".$title."'";
$addedon = "'".date("Y-m-d")."'";
$sql = "INSERT INTO `$this->eventrTable` (`name`, `description`, `event_date`, `maximum_attendees`, `added_on`, `status`, `landing_page`) VALUES ($title, $description, $startDate, $attendees, $addedon, $status, $landingpage);";
$this->db->query($sql);
$event_id = $this->db->insert_id;
return $event_id;
}
То, что я пытаюсь сделать, это заставить два плагина Wordpress работать вместе, но пока что это не так хорошо. Если я сделаю включенный файл с функцией echo переменной, это сработает, но тогда я не смогу заставить его работать в исходном файле ...
Я уверен, что это что-то глупое, но я в тупике.