2012-03-21 9 views
1

皆さん。私はjQuery AJAXとPHPの経験が限られている比較的新しい開発者です。私はWordpressのプラグインに取り組んでいます。これは私にとっても非常に多くの学習の練習です。WordpressのjQueryからPHPへのデータ転送

基本的な説明:私のプラグインの管理ページには、(jQuery UIを使用して)モーダルウィンドウとして表示されるフォームの束があり、記入すると、フィールドは処理のために別のPHPファイルに送信されます。そのファイルはデータを受け入れ、私が設定したwpdbテーブルへの挿入の準備をします。

プラグイン管理ページ(PHP):フォームの

<div id="form1" title="My Awesome Form"> 
    <form id="frmNewCom"> 
     <fieldset> 
     <table> 
      <tr> 
       <td><label for="name">Community Name</label> 
       <td><input type="text" name="newComName" id="newComName" /> 
      </tr> 
      <tr> 
       <td><label for="lefthead">Left Column Header</label></td> 
       <td><input type="text" name="newComLefthead" id="newComLefthead" /></td> 
      </tr> 
      <tr> 
       <td><label for="righthead">Right Column Header</label></td> 
       <td><input type="text" name="newComRighthead" id="newComRighthead" /></td> 
      </tr> 
     </table> 
     </fieldset> 
    </form> 
</div> 

のjQuery UIコード($pcalが私の無競合の事です):

$pcal('#form1').dialog({ 
     autoOpen: false, 
     height: 275, 
     width: 400, 
     modal: true, 
     buttons: { 
      "Add Living Option": function() { 
       // Functionality for submit 
      }, 
      Cancel: function() { 
       $pcal(this).dialog("close"); 
      } 
     }, 
     close: function() { 
      // close function 
     } 
    }); 

が今ここに問題があります。私はこの点から何をすべきかは分かりません。私は.post().serialize()を使ってたくさんのものを読んできました。私はこの時点で非常に混乱しました。

あなたは、あなたが貸し出すことができるPHPの処理に適切なjavascript/jQueryについていくつかの洞察を持っていますか?私はWordpressフォーラムでもこれを尋ねましたが、私はいつもここで良いアドバイスを見つけましたので、私は尋ねると思っていました。すべての助けをいただければ幸いです。

答えて

1

非常に簡単な例は次のようになります

$pcal.post("test.php", $pcal("#frmNewCom").serialize(), function() { 
    // this will run once returned from PHP 
    alert('thanks'); 
    $pcal(this).dialog("close"); 
}); 

このポスト直列化形式でフォーム(id = frmNewCom)(newComName=1&newComLefthead=2&newComName=3ここで1,2および3は、フォームに入力された値である).post()を使用して.serialize()

その後、test.phpであなたは、このように自分の価値観にアクセスします。

$newComName = $_POST['newComName']; 
$newComLefthead = $_POST['newComLefthead']; 
$newComName = $_POST['newComName']; 
// insert into table 

上記のa)はテストされておらず、b)SQL injectionに対してこれを防ぐ必要がない場合は、

+0

素晴らしいです。それはまさに今私が今持っているものです。今私はwpdb-> query()メソッドでエラーを投げている問題に遭遇していますが、それはまったく別の質問です。 – JSchneider

関連する問題