Вызов PHP-скрипта после отправки формы
У меня есть два отдельных процесса, и мне интересно, как я могу их объединить.
У меня есть форма регистрации по электронной почте PHP, которая отправляет адрес электронной почты пользователя и другие данные в базу данных SQL.
У меня есть API-интерфейс для синхронизации PHP-скриптов, который после запуска добавляет всю информацию из базы данных SQL на сторонний сайт (mailchimp)
Как их объединить, чтобы, как только новый пользователь добавил свои данные, и форма была отправлена, запускается скрипт PHP API. Я сделал это, однако он запускает скрипт, и пользователь должен ждать, пока вызов API не будет сделан:
$appUrl = $_SERVER['HTTP_HOST'];
$path = 'newsletter/mailchimp.php';//your path here
$appUrl = 'http://'.$appUrl.'/'.$path;
if (count($_POST)>0) echo file_get_contents($appUrl);?>
2 ответа
Найдите HTML-элемент, к которому вы можете привязать свою функцию, например форму, кнопку, флажок или что-то еще. Есть много разных способов, как $("form").submit(function(){});
, .click
, .changed
, После этого вы можете использовать $.post()
функция для вызова PHP-файлов.
$(document).ready(function(){
$("#buttonId").click(function(){
$.post('phpfile1.php');
$.post('phpfile2.php');
});
});
Если вы получаете контент с удаленного сайта, то вы не можете отправить его клиенту, пока не получили его.
Но в вашем примере вы вызываете URL на локальном компьютере - если вы включите файл вместо вызова его в новом HTTP-запросе, то вы получите небольшое улучшение в скорости.
Если вам не нужно содержимое с другого URL-адреса, вызовите его из функции завершения работы после того, как ваш сценарий сгенерирует содержимое, очистит его буферы и завершит работу.
Вызов второго URL через javascript не является хорошей идеей, если транзакция охватывает оба кодовых набора - вы предоставляете пользователю контроль над потоком в вашем приложении.