2016-05-19 12 views
0

私は単純なhtmlフォームを作成しました。どのようにしてwpdbにデータを挿入できますか?私はPHPでそれを行う方法を知っているが、私は混乱しているワードプレスで!フォームデータをワードプレスデータベースに保存

global $wpdb; 
if (isset($_POST['submit'])) { 
    $name = $_POST['r1s1']; //Here r1s1 is name of the form control 
    $email = $_POST['r2s1']; 
    $contact = $_POST['r3s1']; 
    $address = $_POST['r5s1']; 
    if ($name != '' || $email != '') { 
     $post = $wpdb->insert(
       'table', array(
        'feild' => $name, 
        'dev' => $email, 
        'tenant' => $contact, 
        'mod' => $address, 
       ), array(
        '%s', 
        '%s', 
        '%s', 
        '%s' 
       ) 
     ); 
     echo $post; 
     if ($post) { 
      echo "<br/><br/><span>Data Inserted successfully...!!</span>"; 
     } else { 
      echo "<br/><br/><span>Insertion Failed...!!</span>"; 
     } 
    } else { 
     echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>"; 
    } 
} 

それはメッセージinsertion failed...!!(私はエコーを経由して印刷していますメッセージ)を示し、私は送信ボタンをクリックしてください。このコードはテンプレートで書かれています。私が間違っていることは何ですか?

+0

を試してみてください –

+0

私はワードプレスのデータベースで作成した@Ankur Bhadania表。 – Rishabh

+0

このリンクフォームを確認してください。https://codex.wordpress.org/Class_Reference/wpdb –

答えて

2
global $wpdb; 
$wpdb->insert('table_name', array('field_name' => $_POST['r1s1'], 'field_name' => $_POST['r2s1'],'field_name' => $_POST['r3s1'],'field_name' => $_POST['r4s1'])); 

あなたは、このデータを挿入どのテーブルでは、この1

+0

これは完璧に機能しました!しかし、なぜ...私のコードも正しい(Ankur Bhadaniaは私のコードとその作業をテストしたと私に言った)。また、purvik7373もあなたのような彼の答えをくれました。彼はスクリーンショットで私に彼のテスト済みのコードをくれました。なぜ自分のコードが自分のlocalhostで動作しなかったのですか(同じコードがlocalhostで動作していた)なぜあなたのコードが私のために働くのですか?説明してください.. – Rishabh

1

以下のコードを試すことができますか?

global $wpdb; 
$table_name = $wpdb->prefix . "your_table_name"; 
if (isset($_POST['submit'])) { 
    $name = $_POST['r1s1']; //Here r1s1 is name of the form control 
    $email = $_POST['r2s1']; 
    $contact = $_POST['r3s1']; 
    $address = $_POST['r5s1']; 
    $data = array(
     'feild' => $name, 
     'dev' => $email, 
     'tenant' => $contact, 
     'mod' => $address 
    ); 

    if ($name != '' || $email != '') { 
     $result = $wpdb->insert($table_name, $data);   
     if ($result) { 
      echo "<br/><br/><span>Data Inserted successfully...!!</span>"; 
     } else { 
      echo "<br/><br/><span>Insertion Failed...!!</span>"; 
     } 
    } else { 
     echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>"; 
    } 
} 
+0

このコードでも同じ結果が得られました。 – Rishabh

+0

変数に値があることを確認するために、すべての変数を印刷してください。例: 'print_r($ data);死ぬ; – purvik7373

+0

あなたのDBテーブルにこれらのフィールドがありますか? ex: 'feild'、' dev'、 'tenant'、' mod' – purvik7373

関連する問題