CakePHPで入力値を取得・表示するだけのプログラム

CakePHP
スポンサーリンク

CakePHPで入力した値を取得するだけのプログラムです。これだけのことでまだ手こずっている段階なので…w

確認環境

  • cakePHP1.3.6
  • indexで入力した内容をresultで表示するだけのプログラムです。

/app/controllers/sample_controller.php

“`<?php
class SampleController extends AppController {

public $name = "Sample";
public $uses = null;
public $autoRender = true;
public $autoLayout = false;

function index(){} //何もすることがないので、ただ閉じるだけ

function result(){
App::import("sanitize"); //cakephpにあるサニタイズのライブラリを読み込む
$input = $this->data["name"]; //入力されたデータを取得
$result = Sanitize::stripAll($input); //入力されたデータをサニタイズ(浄化w)
$this->set("result",$result); //浄化したデータをviewへ送る
}
}“`

/app/views/sample/index.ctp

「views」フォルダの中に「sample」を作成し、その中にindex.ctpとresult.ctpを入れます。

“`<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>フォームの入力サンプル</title>
</head>
<body>

<h1>フォームの入力サンプル</h1>
<hr />
<?php echo $form->create(null, array(‘type’=>’post’,’action’=>’result’)); ?>
<table>
<tr>
<th>名前:</th>
<td><?php echo $form->input(‘name’, array(‘type’=>’text’, ‘div’=>false, ‘label’=>false)); ?></td>
</tr>
</table>
<?php echo $form->end(‘送信’); ?>

</body>
</html>“`

/app/views/sample/result.ctp

「views」フォルダの中に「sample」を作成し、その中にindex.ctpとresult.ctpを入れます。

“`<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>【結果】フォームの入力サンプル</title>
</head>
<body>

<h1>【結果】フォームの入力サンプル</h1>
<hr />
<p>あなたは<br /><strong>「<?php echo $result; ?>」</strong><br />と入力しました。</p>
<a href="./">入力画面へ戻る</a>
</body>
</html>“`

ヘッダやフッタの共通化出来る部分をまとめる方法もありますが、それは次の記事にて。