Запустите функцию PHP, если отправлена созданная Javascript форма
У меня есть форма Hubspot (служба за пределами моего сервера), которая появляется после просмотра определенного количества страниц, и я хочу установить файл cookie после отправки этой формы. Я протестировал код с HTML-формой, и он работал нормально, но с созданной формой Javscript PHP не видит, что она была отправлена.
Форма Hubspot
<div id="access" class="modalWindow">
<div>
<h1>To access the rest of this eBook, please fill out the following form.</h1>
<script charset="utf-8" src="//js.hsforms.net/forms/current.js"></script>
<script>
hbspt.forms.create({
portalId: '268874',
formId: '2f79f36a-5c90-47e3-bd54-9d5f0fc674d1'
});
</script>
</div>
</div>
PHP if Statement
<?php
if (!empty($_POST)) {
$value = "Ebook";
setcookie("ebookAccess", $value, time()+3600*24*360, "/ebooks/", "mytestserver.com");
header("Refresh:0");
}?>
1 ответ
Javascript на стороне клиента. PHP на стороне сервера. у вас есть два варианта: добавить событие клика или пользователя AJAX, чтобы сделать публикацию на стороне сервера. таким образом php поднимет его.
<form action="/path.to.your.php.file.php" method="POST" onSubmit="return validate();">
... your fields...
<input type="submit" value="validate and submit"/>
</form>
<script>
function validate(){
// do your validation here
return true; // return true if validation was ok, false otherwise
}
</script>
это самый простой способ, которым я могу выразиться.