$this->redirect("./other/" . urlencode($str));/other/の後に、渡したい値をURLエンコードしてつけていることがわかるでしょう。そして受け取る側のotherメソッドでは、
public function other($param){……こんな具合に、引数に$paramという変数が用意されています。これで、/other/の後につけた値が、そのまま引数の$paramに受け渡されるのです。後は、URLデコードして値をページに書き出すだけです。
$this->redirect("./other/abc/xyz/123”);↓
public function other($a, $b, $c){……これで$a = “abc”, $b = “xyz”, $c = “123”というように、各引数にそれぞれのパラメータが保管されます。実に安直で便利ですね。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※パラメータの受け渡し <?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>"; } }
<< 前へ |