• 締切済み

cakephp2.5のフォームデータの受け渡し

CakePHP2.5でフォームからpostでデータをコントローラで受け取って 別のページで表示するにはどうすればいいでしょうか フレームワークを使用しない普通のPHPならば以下のようになります。 $_POST('paramater'); ただ、CakePHPの場合だとどのようにしていいか不明です。 調べた結果以下のものが出てきたのですが 今回はモデルを使用しないでデータを受渡ししようと思っています。 $this->request->data['model']['field']; モデルを利用しないでデータの受け渡しをする方法をお教えください。 なかなかいい参考資料も出てきません

noname#247130
noname#247130
  • PHP
  • 回答数1
  • ありがとう数2

みんなの回答

  • sanzero
  • ベストアンサー率56% (58/102)
回答No.1

関連するQ&A

  • CakePHPでのフォームデータの受け渡しについて

    CakePHPでフォームから送られてきたデータは$this->dataに格納されていますが、フォームから送られてきた$this->dataを「フォームの送信先」以外で使うにはどのようにしたら良いのでしょうか? $this->set('test', $this->data); $this->redirect(array( 'action' => 'confirm' )); などとして、confirmで$testをprしてみたのですが、この方法では送られないようです。 よくある、申込フォーム→確認画面、のようなものを作りたいのですが、バリデーションを行う都合もあり申込フォーム自身をフォーム送信先に指定しており、完全に内容が入力された状態になったら確認画面に移行する、というイメージなのですが、この「確認画面」にフォーム送信値の$this->dataを引き継ぐ方法がわかりません。 解決法をご存知の方、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • cakePHPについて

    現在、cakePHPを勉強しているのですが、分からなくて進めない箇所があり困っています。 ユーザーがフォームからデータを入力し、DBにデータを格納する際、フォーム項目にないデータを一緒に入力するためにはどうすればいいのか分かりません。 例)ユーザーフォーム入力欄 name email password ↓ ■DB側に格納したいデータ id(AUTO_INCREMENT) contact_id(問題箇所) name email password created modified 現在、下記のようなコードになっているのですが、ご教授頂ければ幸いです。 ■Controller/RequestController public function index(){ if(!empty($this->request->data)){ if($this->request->data[$this->Request->alias]['confirmed']){ //保存実行 //成功時に画面遷移・失敗時にメッセージを表示 if($this->Request->saveAll($this->request->data)){ $this->Session->setFlash('お申し込み有難う御座います。新規依頼が完了しました。'); $this->redirect(array('action' => 'index','controller' => 'details')); }else{ $this->request->data[$this->Request->alias]['confirmed'] == false; $this->Session->setFlash('新規依頼に失敗しました。'); } }else{ if($this->Request->saveAll($this->request->data, array('validate' => 'only'))){ //saveALLは値をまとめて保存するモデルメソッドだけど('validate' => 'only')にすることで //保存処理を行わずにバリデーションのみを実行することができます //入力データに問題がなかった場合は確認画面を呼び出し $this->render('confirm'); }else{ $this->Session->setFlash('エラーがあります。入力内容をご確認下さい。'); } } } }

    • 締切済み
    • PHP
  • CakePHPでバリデート

    質問です。 CakePHPでバリデート処理を行っているのですが、 ちょっとつかめない箇所があります。 ビュー側でformヘルパーを用いてフォームを作っていますが コントローラ側で $this->Model ->set($this->data); $this->Model->validates(); でバリデートが行われると思いますが 上記二つの式のうち 実際にバリデート処理を行っているのはどちらのしきなのでしょうか? フォームの内容がバリデートにひっかからずに判定された場合 $this->Model->validates()でtrueが 返ると思います。 これはvalidatesメソッド内で判定してそのままtureを返しているということでしょうか?

    • ベストアンサー
    • PHP
  • CakePHP 1.3について

    CakePHPが初心者です。 Views-userdetail-index.ctpにて <?php echo $form->create(null,array('type'=>'get','action'=>'./updateRecord')); ?> ~ <?php echo $form->textarea("User.remarks", array("cols" => 22,"rows" => 2)); ?> ~ を記述し、userdetail_controllerにて function updateRecord(){ if (!empty($this->data)){ $this->User->id = 1; $this->User->saveField('remarks','exists'); } else { $this->User->id = 1; $this->User->saveField('remarks','empty'); } $this->redirect('.'); } を記述しています。 しかし、どうしても「!empty($this->data)」の判別によってemptyとなってしまいます。 User.remarksの部分をUserdetailにして色々ためしましたが、どうしても値の受け渡しがうまくいかないのです。 どなたかご教授を宜しくお願い致します。

    • ベストアンサー
    • PHP
  • cakephpのバリデーションについて。

    cakephpのバリデーションについて。 windowsxp環境にxamppをインストール php:5.3.1 cakephp:1.2.6 mysql:5.1.41 書籍を読みながらcakephpを始めました。 現在 フォームで入力された項目に該当する データをmysqlのデータベースで検索後、 結果をビューに表示するものを作っています。 フォームヘルパーを使用し、inputされたデータを コントローラ側で受け、その値をモデルで検索後 ビューへ渡しています。 このようなデータベースに保存は行わない検索だけの場合 フォームに入力されたデータをcakePHPのバリデーション機能 を利用してチェックできるのでしょうか? ビューでは $form->input('form.text1'array('label'=>'検索対象1')); $form->input('form.text2'array('label'=>'検索対象2')); としています。 このform.text1とform.text2について未入力の場合など エラーチェックが行いたいです。 そもそもこのような場合のエラーチェックは コントローラーに処理を記述しバリデーションは利用しないのかなど、 どなたかアドバイスいただけると助かります。

    • ベストアンサー
    • PHP
  • cakephp動的アソシエーションについて

    お世話になっております。 cakephpでアソシエーションをコントローラ側で設定しようとしたところ $this->Model->bindModel(array(‘hasOne’=>array(‘Model_3′))); このような形にされてるのが多いのですが $this->Model->hasMany = array('Model' ); こちらのようにコントローラー側で直接変数に モデル設定してはいけないのでしょうか?

    • ベストアンサー
    • PHP
  • cake php データの受け渡し

    cake php データの受け渡し 最近CakePHPを始めた者です。 初投稿ですがよろしくお願いします。 controllersからviewにThis->setで値を渡しているのですが、上手くいきません。 view側 <p><?php $err;?></p> controllers function edit(){ $data = $this->Rock->find('all'); $this->set('data',$data); } function delRecord(){      $err = "passの値が間違っています。";      $this->set('err',$err); $this->redirect('./edit'); }

    • 締切済み
    • PHP
  • CakePHP2について

    viewにデータを送るときに、1の $this->set() と2の $this->request->dataは、 どう違うのでしょうか? ご教授ください。 public function view($id = null) { // レコードを選択 $this->Post->id = $id; // レコードデータを取得しビューへ送る $this->set('post', $this->Post->read());---------1 } public function edit($id = null){ $this->Post->id = $id; if($this->request->is('get')) { $this->request->data = $this->Post->read();-------2 }

    • ベストアンサー
    • PHP
  • CakePHP データベースを使わずに

    PHP 5.2.6 CakePHP 1.2 データベースを使わずにフォームを作成する場合 <?php echo $form->create('Contact', array('action'=>'entry', 'method'=>'post')))?> と記述するとデータベースに接続しようと、してしましす。 もちろんモデル側では、 var $useTable = false; としてるのですが、どのようにしたらよいのでしょうか? よろしくお願いいたします。

  • 特殊文字を含むフォームデータの受け渡し

    HTML+PHPでフォームを作っているのですが、 フォーム内のtextareaに特殊文字を含んだ場合に、フォームデータが全て渡って来ない場合があります。 このような現象の原因、対処法等ご存知の方がおりましたら、ぜひともご教授ください。 以下、現象の詳細です。-------------------------------- ・ccccの中に特殊文字(&trade;が文字参照になってない状態等)が入っている状態でsubmitすると、aaaaがPOST変数に入っていない。 ・valueの値が入ってないのではなく、aaaa自体が存在しません。 ・同様に書いているいくつかのフォームでも発生するものとしないものがある ---フォーム--- <form method="post" enctype="multipart/form-data" action="test.php"> <input type="hidden" name="aaaa" value="aaaa"> <input type="hidden" name="bbbb" value="bbbb"> <textarea name="cccc"> ---test.php--- 先頭で$_POSTをprintしてます。

    • 締切済み
    • PHP

専門家に質問してみよう