掲示板を作ろう その3
※3/27 19:30追記:
掲示板作成を進めていたら、かなり間違えてたので抜本的にこのページを書き換える予定です。
3/28 13:00 修正:
入力されたデータが正しいときの処理を application/models/boardmodel.php に
データベースの入出力の前に、フォームで出力されたデータの受け取りが必要だと気づきました。
参照:入力クラス : CodeIgniter ユーザガイド 日本語版
post されたデータの受け取りは
$this->input->post('フィールド名');
入力されたデータが正しいときにする処理
データベースへの入出力のために boardmodel.php に追加。
application/models/boardmodel.php
class Boardmodel extends CI_Model { public function __construct() { parent::__construct(); $this->load->database(); } public function insert() { $data = array( 'name' => $this->input->post('name'), 'email'=> $this->input->post('email'), 'comment' => $this->input->post('comment') ); echo var_dump($data); } }
$this->input->post() でデータを受け取り、配列にして$dataに格納
var_dump($data) でpostされた値を受け取れているかチェック。
コメント投稿時表示ビューを作る
入力されたデータが正しいときに表示されるビューを作ってないのでapplication/views/ ディレクトリに success.php を作成
<p>コメントが投稿されました<p> <a href="<?php echo site_url('board'); ?>">掲示板に戻る</a>
コントローラ application/controllers/board.php に boardmodel.php にアクセスする命令文を追加
$this->load->model('boardmodel'); $this->boardmodel->insert();
具体的には
public function index() {
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->load->model('boardmodel'); # ここ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
} else {
$this->boardmodel->insert(); # ここ$this->load->view('templates/header');
$this->load->view('success');
$this->load->view('templates/footer');
}
これで名前、メールアドレス、コメントが全部表示されたのでOKっと。