$ _GET не отправляет данные для вставки mysqli_query

У меня есть код ниже, чтобы захватить переменные URL и отправить их в базу данных RDS. Когда я открываю ниже как страницу, используя этот URL

https://example.com.au/post.php?UniqueID=1234&usename = тест&useemail = тест% 40test.com&usephone = 1800 + 000 + 000&RefID = 28383

Работает отлично. Но при использовании форм-стека для передачи данных работает только поле даты.

Основное различие заключается в том, как они выполняются — веб-крючок не открывает страницу в браузере.

Есть что-то, что я пропускаю или это ограничение 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);
?>

-1

Решение

Наши 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'])) {

Вы могли бы даже отправить сообщение об этом состоянии, чтобы отправить электронное письмо о том, что что-то пошло не так или зарегистрировать его в своем любимом месте!

Спасибо,

Крис П. @ Формстак

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]