#freeze 閲覧総計:&counter(); (本日:&counter(today); 昨日:&counter(yesterday);) CakePHP 1.2.3 encoding:UTF-8 日本特有との事ですが、ほとんどのWebツールでは、入力内容の「確認画面」をはさむのが 定石となってます。 CakePHPは外国製ですので bake でも「確認画面」を作ってくれません。 そこで、「確認画面」の作り方の一例として、ブログチュートリアルに「確認画面」を追加して みました。 09/05/16 教材:ブログチュートリアル http://book.cakephp.org/ja/complete/219/Blog /app/models/post.php <?php class Post extends AppModel { var $name = 'Post'; var $validate = array( 'title' => array( 'rule' => array('minLength', 1) ), 'body' => array( 'rule' => array('minLength', 1) ) ); } ?> /app/controllers/posts_controller.php <?php class PostsController extends AppController { var $name = 'Posts'; function add() { //var_dump($_POST); if (!empty($this->data)) { if ($this->data['Post']['mode'] == 'confirm') { $this->Post->set($this->data); if ($this->Post->validates()) { $this->render('confirm'); } } else { if($this->data['Post']['mode'] == 'Save Post') { $this->Post->create(); if ($this->Post->save($this->data)) { $this->flash('Your post has been saved.','/posts'); } } } } } } ?> /app/views/posts/add.ctp <h1>Add Post</h1> <?= $form->create('Post'); ?> <?= $form->input('title'); ?> <?= $form->input('body', array('rows' => '3')); ?> <?= $form->hidden('mode', array('value' => 'confirm')); ?> <?= $form->end('Save Post'); ?> /app/views/posts/confirm.ctp <h1>この内容でよろしいですか?<h1> <br> <?= $form->create('Post', array('action' => 'add', 'type' => 'post')); ?> タイトル:<?= h($form->value('Post.title')); ?><br> <?= $form->hidden('Post.title'); ?> 本文:<?= h($form->value('Post.body')); ?><br> <?= $form->hidden('Post.body'); ?> <?= $form->submit('戻る', array('name' => 'data[Post][mode]')); ?> <?= $form->submit('Save Post', array('name' => 'data[Post][mode]')); ?> <?= $form->end(); ?> ↓バリデート エラーメッセージが表示された画面 &ref(バリデートエラーメッセージ画面.JPG); ↓入力画面 &ref(入力画面.JPG); ↓確認画面 &ref(確認画面.JPG); ↓一覧画面 &ref(一覧画面.JPG); #vote(参考になった[9],ふつう[0],参考にならなかった[0])