参考にさせて頂いたページ
コントローラーを使おう!(5/5):初心者のためのCakePHP2.0 プログラミング入門
今回やること
リダイレクトするときに値を受け渡す。
今回のサンプルソースコード
参考にさせて頂いたページにならって以下
SampleController.php
<?php
App::uses('AppController', 'Controller');
class SampleController extends AppController {
public function index() {
$this -> autoRender = false;
$date = new DateTime();
$date->setTimeZone(new DateTimeZone('Asia/Tokyo'));
$str = $date->format("H:i:s");
$this->redirect("./other/" . urlencode($str));
}
public function other($param){
$this -> autoRender = false;
$str = urldecode($param);
echo "<html><head></head><body>";
echo "<h1>サンプルページ</h1>";
echo "<p>これはもう1つのページです。</p>";
echo "<p>送られた値: " . $str . "</p>";
echo "</body></html>";
}
}
ここまでの実装に関する解説
$date = new DateTime();
$date->setTimeZone(new DateTimeZone('Asia/Tokyo'));
$str = $date->format("H:i:s");
で現在時刻を取得して$strに格納。
$this->redirect("./other/" . urlencode($str));
で$strをURLに付けてリダイレクト。
public function other($param){
でindexアクションで渡した$strを、otherアクションの中に引数$paramとして受け取っている。
$str = urldecode($param);
でエンコードされていた$paramをデコードして、$strに格納。
echo "<html><head></head><body>";
echo "<h1>サンプルページ</h1>";
echo "<p>これはもう1つのページです。</p>";
echo "<p>送られた値: " . $str . "</p>";
echo "</body></html>";
でhtmlを出力。
今回はここまで。