2016-10-27 10 views
0

私はwordpressに新しくなりました。フォーム提出とデータ挿入が同じページにあるプログラムがあります。DBにデータを挿入した後に、wordpressでphpを使ってポストにリダイレクトする方法

私が望むのは、データがデータベースに挿入されたときに、「ありがとう」ポストページが生成されます。

は、私はすでにをリダイレクトするためのヘッダー機能を使用しているが、それは以下のプログラムを参照してくださいworking.Pleaseではありません。

elseステートメントを間違って配置しましたか?

私は知りたいこのプログラムでは、のフォーム検証機能をどこに設定しますか?

私を助けてください。ここで

プログラム

<!DOCTYPE html> 
<html> 
<style> 
input[type=text], select { 
width: 100%; 
padding: 12px 20px; 
margin: 8px 0; 
display: inline-block; 
border: 1px solid #ccc; 
border-radius: 4px; 
box-sizing: border-box; 
} 

input[type=submit] { 
    width: 100%; 
    background-color: #4CAF50; 
    color: white; 
    padding: 14px 20px; 
    margin: 8px 0; 
    border: none; 
    border-radius: 4px; 
    cursor: pointer; 
} 

input[type=submit]:hover { 
    background-color: #45a049; 
} 

div { 
    border-radius: 5px; 
    background-color: #f2f2f2; 
    padding: 20px; 
} 
</style> 
<body> 

<h3>Form Name</h3> 
[insert_php] if (!empty($_POST)) 


$cname=$_POST['cname']; 
$pname=$_POST['pname']; 
$webtype=$_POST['webtype']; 
$contact=$_POST['contact']; 
$email=$_POST['email']; 
$address=$_POST['address']; 
$pappdate=$_POST['pappdate']; 
global $wpdb; 

$wpdb->insert( 
    'tab_m_webdesign', 
    array( 
    'cname' => $cname, 
    'pname' => $pname, 
    'webtype' => $webtype, 
    'contact' => $contact, 
    'email' => $email, 
    'address' => $address, 
    'pappdate' => $pappdate 
     ), 
    array( 
     '%s', 
     '%s', 
       '%s', 
'%s', 
'%s', 
'%s', 
'%s' 
    ) 
); 

header("Location: http://example.com/myOtherpost"); 



[/insert_php] 
<div> 
[insert_php] else [/insert_php] 
    <form action="" method="post" name="webForm"> 
    <label for="cname">Company/Institute Name</label> 
    <input type="text" id="cname" name="cname"> 

    <label for="pname">Your Name</label> 
    <input type="text" id="pname" name="pname"> 

    <label for="webtype">Type of Website</label> 
    <select id="webtype" name="webtype"> 
     <option value="Personal(Static Pages)">Personal(Static Pages)</option> 
     <option value="Personal(Dynamic Page)">Personal(Dynamic Page)</option> 
     <option value="Commercial(Static Pages)">Commercial(Static Pages)</option> 
     <option value="Commercial(Dynamic Page)">Commercial(Dynamic Page)</option> 
     <option value="Online Shopping Site">Online Shopping Site</option> 
     <option value="Educational Site">Educational Site</option> 
     <option value="Other">Other</option> 
    </select> 
    <label for="contact">Contact No.</label> 
    <input type="text" id="contact" name="contact"> 
    <label for="email">Email ID</label> 
    <input type="text" id="email" name="email"> 
    <label for="address">Address</label> 
    <input type="text" id="address" name="address"> 
    <label for="pappdate">Preferred Appointment Date</label> 
    <input type="date" name="pappdate"> 

    <input type="submit" value="Submit"> 
    </form> 
[insert_php] endif; [/insert_php] 
</div> 

</body> 
</html> 

答えて

0

ヘッダー機能は、ページ上の任意の出力の前に呼び出される必要がありますされています。 htmlタグの前にphpの挿入コードを置く必要があります。

もう1つの方法は、ページの上部にob_start()を追加することです。

+0

私はそれを試しましたが、動作していません。解決策を具体的に何を書くべきかを教えてください。 –

関連する問題