2012-05-02 13 views
0

ビューのボタンをdbに接続しようとしています。私は、Javaスクリプト/ AjaxまたはjQueryとonclick()を使用しなければならないことを知っています。しかし、私は次に何をすべきですか?どのように私はDBに保存することができますPHPの変数にボタンのクリックの結果を接続するのですか?ビュー内のボタンをコードイグナイターのDBに接続するにはどうすればいいですか?

更新:(ANS) 私が欠けていたのは、コントローラがビューからアクセスできるという事実でした。ちょうどこれをしなさい:

<?php echo form_open('form/submit'); ?> 
<br><br> 
Title<br> 
<input type="text" name="title"><br> 
Body<br> 
<input type="text" name="body"> 
<input type="submit" value="New"> 

これはフォームをコントローラーのサブミット機能に提出し、あなたが望むことをすべて行うことができます。回答ありがとう!

+0

これを行うにはいくつかの方法があります。 1つの方法は、ビュー内のDBに接続することですが、私はここでMVCモデルと混同していますが、どこにデータベースを呼び出す必要がありますか? –

+0

少なくとも、[CodeIgniterのフローチャート](http://codeigniter.com/user_guide/overview/appflow.html)をご覧ください。 – Joseph

+0

これはまさに私が混乱している理由です。入力はコントローラでのみ処理されるべきであることがわかります。ビューからユーザ入力を取得し、コントローラに渡し、コントローラがモデルを呼び出します。私は正しい? –

答えて

2

(おそらくJSON出力を持っている)

を適切にAJAX要求を処理するビューを作成し、ボタンでビューからAJAXを経由して、それに要求を行います。

ajax.phpの中で、dbにアクセスするための適切なコードを設定できます。

jquery/javascript ajaxリクエストは単純にビューに表示されますが、それはcodeigniterのMVC構造内に自分自身の場所を持っていません。CIの観点から見ると、それはちょうど2つのビューです。

+0

Hebert Penito dbに接続するこの安全な方法はありますか?悪意のあるユーザーが同様の呼び出しをすることはできますか?私はMVCのアプローチで任意のDBコールを処理する最良の方法は、モデル内の任意のDBコールを置くことだと思った? Ajax.phpをモデル内に実装する必要がありますか? –

+0

まあ、実際には、dbに接続した後に何をしたいかによって決まります。 REQUEST変数をINSERTまたはUPDATEしないでください。これは単に問題を要求するためです。通常、DBIOの機能はモデルに組み込まれていますが、コントローラで要求するインテントを把握し、モデルにある適切なアクション(機能)に進むことをお勧めします。通常は、SESSION変数を使用してリクエストがサイトから来ていることを確認します。トークンを設定し、REQUESTの両側で一致することを確認します(要求を出したページとajax.php) –

関連する問題