У меня есть код ниже, чтобы захватить переменные URL и отправить их в базу данных RDS. Когда я открываю ниже как страницу, используя этот URL
Работает отлично. Но при использовании форм-стека для передачи данных работает только поле даты.
Основное различие заключается в том, как они выполняются — веб-крючок не открывает страницу в браузере.
Есть что-то, что я пропускаю или это ограничение AWS RDS.
<?php
$userid = $_GET['UniqueID'];
$username = $_GET['usename'];
$useremail = $_GET['useemail'];
$userphone = $_GET['usephone'];
$userref = $_GET['refid'];
$link = mysqli_connect('xxxx.xxxx.ap-southeast-2.rds.amazonaws.com', 'xxxxx', 'xxxxxx','xxxxxxx');
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Check if server is alive
if (mysqli_ping($link))
{
echo "Connection is ok!";
}
else
{
echo "Error: ". mysqli_error($link);
}mysqli_query($link,"INSERT INTO landing_post (`useid`, `name`, `email`, `phone`, `refid`, `DateTime` ) VALUES ('$userid', '$username', '$useremail', '$userphone', '$userref', CURDATE())")
or die(mysqli_error($link));echo "Entered data successfully\n";mysqli_close($link);
?>
Наши webhooks используют POST вместо GET-запроса (из наших документов: https://developers.formstack.com/docs/webhook-setup):
Мы отправляем данные для отправки формы через HTTP-запрос POST как
либо данные формы в кодировке URL, либо в виде строки JSON в зависимости от
Формат, который вы выбираете в опциях конфигурации webhook.
Вы можете просто изменить первые несколько строк кода на $ _REQUEST, если вы хотите, чтобы он поддерживал get и post, или вы можете изменить его на $ _POST, если вы предпочитаете, чтобы он обрабатывал только POST.
$userid = $_REQUEST['UniqueID'];
$username = $_REQUEST['usename'];
$useremail = $_REQUEST['useemail'];
$userphone = $_REQUEST['usephone'];
$userref = $_REQUEST['refid'];
….
Я мог бы также предложить, что это хорошая идея, чтобы обернуть вокруг себя некоторую логику, которую вы не пытаетесь отправить в mysql, если нет нужных вам данных:
if (!empty($_REQUEST['refid'])) {
Вы могли бы даже отправить сообщение об этом состоянии, чтобы отправить электронное письмо о том, что что-то пошло не так или зарегистрировать его в своем любимом месте!
Спасибо,
Крис П. @ Формстак
Других решений пока нет …