閲覧総計:9210 (本日:1 昨日:0) CakePHP 1.2.3 encoding:UTF-8 日本特有との事ですが、ほとんどのWebツールでは、入力内容の「確認画面」をはさむのが 教材:ブログチュートリアル /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(); ?> |