多部分表单和wp_reDirect()

时间:2013-04-15 作者:Chief Alchemist

对于初学者来说,它是一个插件(带有一个短代码),或者至少我更喜欢它。

我有两个问题都与wp\\U direct有关。

如果表1验证,我想重定向到表2,并继续该过程。

如果访问者在没有填写表格1的情况下尝试从表格2开始,那么我想将他们重定向回表格1。

我已经尝试了许多不同的方法,我仍然得到“无法修改标题”。即使当\\uu construct()使用add\\u操作“send\\u headers”时,我仍然会收到标头错误。如何验证表单、重定向并显示第二个表单。

这似乎并不是一种预先的需要。然而,我花了一天的大部分时间寻找答案,我在这里乞求帮助:)

提前谢谢。

p、 标记列表中未显示s.wp\\u safe\\u redirect()。

1 个回复
SO网友:Ralf912

你有这样的表格

<form action="http://some/url/form_two.php" method="POST">
 <input type="whatever" value="nothing" />
 <input type="hidden" name="form_one_displayed" value="1" />
 <input type="submit" value="Send" />
</form>
例如,在form_one.php

在里面form_two.php 验证已发送(或未发送)的数据

<?php
$result = do_some_validation_with( $_POST );

if ( false == $result )
  wp_redirect( \'form_one.php\' );
else
  display_form_two();

function do_some_validation_with( $postdata = array() ) {
  // nothing was send
  if ( empty( $postdata ) )
    return false;

  // if the first form wasn\'t send, stop validation
  if ( ! isset( $postdata[\'form_one_displayed\'] ) )
    return false;

  // do more validation

  // if validation pass
  return true;
}

function display_form_two() {}
我认为使用ajax请求来验证表单数据更容易,并且仅当第一个表单经过验证时才显示第二个表单。

结束

相关推荐

SHORTCODE_ATTS-一个URL变量不起作用

我开发了一个基于短代码的小插件。下面是一个简化版的代码,用于短代码本身:function lishortcode($liatts) { extract(shortcode_atts(array( \"li\" => get_option(\'li\'), ), $liatts)); foreach ($liatts as $key => $option) { $li[$key] =