不能修改页眉表单刷新时重新提交数据

时间:2012-02-19 作者:Anders Kitson

我有一个联系人表单,每次刷新页面时,我都会得到重新发送所有数据的提示,我添加了一个标题(“location:location.php”);到窗体函数的底部,尝试并防止出现这种情况。然而,我得到的只是一个无法修改标题信息-标题已发送错误。这是我的密码

<?php
/*
Template Name: form-test.php
*/
include_once( ABSPATH . \'wp-admin/includes/plugin.php\' );
include_once(ABSPATH. \'wp-content/themes/fiftyfityNew/contact-form.php\');
get_header(); ?>

<script>
var i=0;
function test(){

for(i=0;i<=5;i++){
    document.write( "the number is" + i);
}
}
</script>
<script>
test();
</script>

<?php function make_user_feedback_form() {
    global $wpdb;
    global $current_user;

        $ufUserID = $current_user->ID;

        if ( \'POST\' == $_SERVER[\'REQUEST_METHOD\'] && !empty( $_POST[\'action\'] ) && $_POST[\'action\'] == \'updateFeedback\' ) {
            $ufDataUpdate = $wpdb->insert( \'wp_user_feedback\', array( \'date\' => current_time(\'mysql\'), \'responses\' => $_POST["test"]) );
        }
        }?>
    <div id="form">
    <ol>
        <form method="post">
            <li><label for="test">Pick a date Babe:</label><input type="text" id="datepicker" name="test" value="" /></li> <!-- the (name="test") value is what the (\'responses\' => $_POST["test"]) value is talking too -->

            <li><input name="submit" type="submit" id="submit" class="submit button" value="Send feedback" /></li>
            <?php wp_nonce_field( \'updateFeedback\' ); ?>
            <input name="action" type="hidden" id="action" value="updateFeedback" />
        </form>
    </ol>
    </div>
    <?php 

add_action(\'the_content\',\'make_user_feedback_form\');

header("location: http://localhost:8888/fiftyfity/?page_id=90");

?>

<?php
make_user_feedback_form();
?>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

1 个回复
最合适的回答,由SO网友:mor7ifer 整理而成

向浏览器发送任何html后,就无法发送标题。。。因此,如果您想对标题执行任何操作,您需要在get_header().

在这方面,我不确定您想对这些标题做什么,但“确认数据重新提交”提示来自您的浏览器。重新加载页面,然后刷新,你不应该看到它。。。但是没有办法绕过它(因为它同样来自浏览器)

结束