掲示板を作ろう その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っと。