0

我使用联系表 7,提交后我重定向到另一个页面。我希望设置一个会话变量,以便当我进入新页面时,它可以检查表单是否已提交。这意味着如果您从其他地方(而不是表单)到达该页面,它将不允许您看到某些下载链接。

我的问题是我似乎无法传递$_POST. 我不确定在哪里设置变量。在联系表格 7 插件中。

这是表单的输出...

<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>

</form>

这是我想要实现的代码

 if(isset($_POST['your-email'])){          

         $_SESSION['user_email_set'] = true;
}

问题是我无法弄清楚该动作将要去哪里,因为它似乎只是指向自身,并且$_POST似乎没有显示任何内容。

(我什print_r($_POST);至在同一页面上尝试过并关闭了重定向,但它仍然没有显示任何内容)

谢谢

4

1 回答 1

2

查看有关联系表 7 的迷你指南

它有关于在服务器端使用发布的表单数据而不是邮件的部分,其中包含以下代码:

add_action("wpcf7_before_send_mail", "wpcf7_do_something_else");  

function wpcf7_do_something_else(&$wpcf7_data) {  

    // Here is the variable where the data are stored!  
    var_dump($wpcf7_data);  

    // If you want to skip mailing the data, you can do it...  
    $wpcf7_data->skip_mail = true;  

}  
于 2013-05-08T09:07:18.157 回答