메신저는 사용자가 데이터베이스에 메시지를 추가 할 때 페이지의 관련 메시지 목록을 보여주는보기 메시지 페이지로 다시 가져옵니다. 그러나 메시지를 추가하기 위해 제출을 클릭하면 매개 변수도 지나치게 전달되지 않습니다. 여기 cakephp가 양식 뒤에 매개 변수를 전달하면
public function add_admin($id=null){
//allows user to add a new message to a dispute
$this->set('title_for_layout', 'Dispute Information');
$this->set('stylesheet_used', 'homestyle');
$this->set('image_used', 'eBOXLogoHome.png');
$this->layout='home_layout';
//gets messages where Message.dispute_id=$id
$dispute=$this->Message->field('dispute_id', array('dispute_id'=>$id));
//sets the variables
$this->set('dispute', $dispute);
//$sets the variable $user to User.id
$user=$this->Auth->User('id');
//sets the variable
$this->set('user',$user);
//if the request posts to the database
if($this->request->is('post')){
//create an instance of message in the database
$this->Message->create();
//if the message saves
if ($this->Message->save($this->request->data)) {
//redirect the user to Messages/viewMessage_admin
$this->redirect(array('controller' => 'Messages','action' => 'viewMessage_admin',$id));
}
}
$this->set('id',$id);
}
public function viewMessage_admin($id=null){
//allows users to view all messages related to a dispute
$this->set('title_for_layout', 'Dispute Information');
$this->set('stylesheet_used', 'homestyle');
$this->set('image_used', 'eBOXLogoHome.png');
$this->layout='home_layout';
$this->set('dispute_id',$id);
debug($id);
//find all messages where Message.dispute_id=$id
$Messages=$this->Message->find('all',array(
'conditions'=>array('dispute_id'=>$id)));
//find User details where user.id=message.user_id
$Username=$this->User->find('all', array(
'conditions'=>array(
'User.id'=>'Message.user_id')));
//get messages where message.dispute_id=$id
$dispute=$this->Message->field('dispute_id', array('dispute_id'=>$id));
//sets the variables
$this->set('dispute', $dispute);
$this->set('username', $Username);
$this->set('dispute_id',$id);
$this->set('message',$Messages);
}
은 내 양식
<table id="data">
<tr>
<th>Please add your message below.</th></tr>
<tr><td>
<?php echo $this->Form->create('Message', array('action'=>'add_admin')); ?>
<?php echo $this->Form->inpute('user_id', array('type'=>'hidden', 'value'=>$user)); ?>
<?php echo $this->Form->input('message',array('label'=>false)); ?>
</td></tr><tr><td>
<?php echo $this->Form->hidden('dispute_id', array('value' => $dispute)); ?>
<?php echo $this->Form->end('Submit'); ?></td></tr>
</table>
, 어떤 난 후하는 매개 변수로 message.dispute_id한다 – user1393064