1

ユーザーが私たちのページに登録するとき、ユーザーが送信をクリックすると、「登録していただきありがとうございます。メールを確認してください。」というページが表示されるようにしたいと思います。

これが追加機能の私のコードです

function add(){
        $this->set('title_for_layout', 'Please Login');
        $this->set('stylesheet_used', 'style');
        $this->set('image_used', 'eBOXLogo.jpg');   
    if($this->request->is('post')){
    $this->User->create(); 
    if ($this->User->save($this->request->data)) 
    { 
        $this->Session->setFlash('The user has been saved');  

    }
    else { $this->Session->setFlash('The user could not be saved. Please, try again.'); } 
    } 

  } 

これが私の追加ビューです

<h2>Please enter your details</h2>
<?php
echo $this->Form->create('User', array('action'=>'add'));
echo $this->Form->input('username',array('label'=>'Username: '));
echo $this->Form->input('password',array('label'=>'Password: '));
echo $this->Form->input('password_confirmation',array('type'=>'password'));
echo $this->Form->input('email',array('label'=>'Email: '));
echo $this->Form->input('title',array('label'=>'Title: '));
echo $this->Form->input('firstname',array('label'=>'First Name: '));
echo $this->Form->input('surname',array('label'=>'Surname: '));
echo $this->Form->input('street',array('label'=>'Street Address: '));
echo $this->Form->input('city',array('label'=>'City: '));
echo $this->Form->input('state',array('label'=>'State: '));
echo $this->Form->input('country',array('label'=>'Country: '));
echo $this->Form->end('Click here to Register ');

?>
4

1 に答える 1

2
if ($this->User->save($this->request->data)) { 
    $this->Session->setFlash('The user has been saved');
    $this->redirect(array('action' => 'thank_you'));
}

また:

if ($this->User->save($this->request->data)) { 
    $this->Session->setFlash('The user has been saved');
    $this->render('thank_you');
}

つまり、リダイレクト先の別のアクションを作成するか、ユーザーが登録したときに特別なビューをレンダリングするだけです。

于 2012-05-23T03:48:01.700 に答える