0

一定量のページが表示された後に表示される Hubspot (サーバー外のサービス) フォームがあり、そのフォームが送信された後に Cookie を設定したいと考えています。コードを HTML フォームでテストしたところ、問題なく動作しましたが、Javascript で作成されたフォームでは、送信されたことを PHP が認識していません。

ハブスポットフォーム

<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 ステートメント

<?php
    if (!empty($_POST)) {
        $value = "Ebook";

        setcookie("ebookAccess", $value, time()+3600*24*360, "/ebooks/", "mytestserver.com");

        header("Refresh:0");
    }?>
4

1 に答える 1

0

Javascript はクライアント側です。phpはサーバーサイドです。サーバー側の投稿を行うには、クリックイベントまたはユーザー ajax を追加する 2 つのオプションがあります。そうすれば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>

これが私が言える最も簡単な方法です。

于 2014-01-22T16:56:38.493 に答える