在wordpress中设置提交按钮后的cookie


set cookie after submit button in wordpress

我甚至不确定我这里是否需要饼干,也许有更好的方法。

我目前有一个页面与下载链接。要进入这个页面,用户必须提交他们的电子邮件地址。我使用的插件联系表格7的电子邮件条目。然后我计划将其重定向到该页面。这个插件允许我给提交按钮添加id。

我应该在这里设置一个cookie使用JavaScript吗?我将无法将JavaScript放入表单中,但我可以在自己的页面模板中使用表单。

这是输出的html,我不愿意去尝试改变它,因为它是一个插件。

<form action="/downloads/#wpcf7-f127-p124-o1" method="post" class="wpcf7-form" novalidate="novalidate">
<div style="display: none;">
<input type="hidden" name="_wpcf7" value="127" />
<input type="hidden" name="_wpcf7_version" value="3.4" />
<input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f127-p124-o1" />
<input type="hidden" name="_wpnonce" value="211b6bff7f" />
</div>
<p>Your Name (required)<br />
<span class="wpcf7-form-control-wrap your-name"><input type="text" name="your-name" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" /></span> </p>
<p>Your Email (required)<br />
<span class="wpcf7-form-control-wrap your-email"><input type="email" name="your-email" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-email wpcf7-validates-as-required wpcf7-validates-as-email" aria-required="true" /></span> </p>
<p><input type="submit" value="Send" class="wpcf7-form-control wpcf7-submit" /></p>
<div class="wpcf7-response-output wpcf7-display-none"></div>

使用$_SESSION变量确定用户是否设置了电子邮件。用户可以很容易地更改或删除Cookies。当然,在这种情况下,您不需要担心后者,但是您明白了。另一方面,SESSION变量将不能被应用程序的任何用户编辑。

HTML例子:

<form method="post">
    <input type="email" placeholder="Enter email here..." name="email" />
</form>
PHP示例

if(isset($_POST['email'])){
    // Set the session val
    $_SESSION['user_email_set'] = true;
}
// Check if user entered email
if(isset($_SESSION['user_email_set']) && $_SESSION['user_email_set']){
    // Show downloads page
}