0

送信時にmysqlデータベースにデータを追加し、成功ページにリダイレクトするフォームを作成しようとしています。

このコードをfunctions.phpファイルの最後に追加しました。

add_action('init', 'form_submit');
function form_submit(){
    global $wpdb;
    if(isset($_POST['form_sub']))
    {
        $name= $_POST['name'];
        $age= $_POST['age'];
        $wpdb->insert( 
    'mytable', 
    array( 
        'name' => $name, 
        'age' => $age
    ), 
    array( 
        '%s', 
        '%s' 
    ) 
    );
    header("Location: http://www.google.com");
    }
}

送信がクリックされたときにこの関数を呼び出すフォームをページに追加しました。

これを試してみると、データはmysqlデータベースに追加されますが、リダイレクトが機能していないようです。google.comにアクセスする代わりに、これをページの上部に追加します。

移動されたオブジェクトこのドキュメントはここにあります

ここにgoogle.comへのリンクがあります。これを修正する方法について何かアイデアはありますか?ありがとうございました!

4

1 に答える 1

0

リダイレクト ヘッダーの送信が遅すぎる可能性があります (ページがレンダリングされた後)。

これをチェックしてください:http://shibashake.com/wordpress-theme/wordpress-page-redirect

header() または wp_redirect() を十分に早く取得できない場合は、javascript リダイレクトを発行してみてください。

于 2013-02-27T05:39:18.757 に答える