備忘録

webの備忘録のために

CakePHP3 フォームその3

前回の記事まではGETでのフォームを実装していた。 今回はPOSTでのフォーム実装を。

-ファイル src/Template/Hello/index.ctp

<h1>送信結果</h1>
<p><?php echo $result; ?></p>

-ファイル src/Template/Hello/send_form.ctp

public function sendForm(){
    $str = $this->request->data('text1');
    $result = "";
    if ($str != ""){
        $result = "you type: " . $str;
    } else {
        $result = "empty.";
    }
    $this->set("result", h($result));
}

POST送信された値は、dataプロパティにまとめられている。 → $this->request->data('text1');

または連想配列としてキーを指定して取り出すこともできる。 → $this->request->data['text1'];

基本この形で取得する。 CakePHPでは$GETとか$POSTは使ってはいけないのがルール。