-3

私はcakephpに非常に慣れていません。次のように、入力コントロールを含む単純なフォームを作成しました。

  <?php
    echo $this->Form->create();
    echo $this->Form->input('name');
    echo $this->Form->input('address', array('rows' => '3'));
    echo $this->Form->input('aaa', array(
        'type'      => 'date',
        'label'     => 'select',
        'before'    => '--before--',
        'after'     => '--after--',
        'between'   => 'Date',
        'separator' => '****',
        'empty'     => '--select--'
    ));
    echo $this->Form->checkbox('subjects', array('value' => 'Java'));
?>
java
<?php
    echo $this->Form->input('gen', array(
        'type' => 'radio',
        'options' => array('m', 'f')
    ));
    echo $this->Form->input('file', array('type' => 'file'));
    echo $this->Form->input('listbox', array('options' => array(1,2,3,4,5), 'multiple' => 'multiple'));
    echo $this->Form->end('Submit');
?>

これらのコンポーネントに入力された値を別のページに印刷したいと考えています。それ、どうやったら出来るの?次のようにセッション(不適切と思われる)の助けを借りてそれをやろうとしました:

public function contactus() {
        if ($this->request->data!=null) {
            $var=$this->request->data;
            $this -> Session -> write('myvar', $this->request->data);
            //$this->set($var, $this->request->data);
            $this->redirect(array('action' => 'contactview'));
        }
    }

しかし、それは配列を出力し、セッションを使用して各コンポーネントの値を保存することはできません。どうすればこれを解決できますか?

4

2 に答える 2

1

Cakephp ブックによると (フォーム: http://book.cakephp.org/1.3/view/1384/Creating-Forms )

   <?php 
    echo $this->Form->create(null, 
  array('url' => array('controller' => 'recipes', 'action' => 'add'))); 
    ?>

     //Output:
    <form method="post" action="/recipes/add">

したがって、create関数を変更してurlオプションを追加するだけです。

于 2012-08-11T11:42:18.693 に答える
0

セッションを使用するのではなく、使用しthis->dataて問題を解決できました。

于 2012-08-12T11:45:13.890 に答える