2014-06-11 38 views
1

我是這個社區的新手,我想問你關於cakephp2的驗證和表單。 我有一個稱爲input()的方法,並且此方法旨在將forms變量發送到確認頁面。但問題是,即使我按他提交按鈕,它不會進入確認頁面。 這是腳本,但我不知道它爲什麼工作?如果你能幫助我,這將是非常棒的!Cakephp2表單不會重定向到確認頁面

public function input() { 
    $this->title = 'contact'; 

    if ($this->request->is('post')) { 
       //die(1); 
     $data = arrayWithKeys(
      $this->request->data['Contact'], 
      array('name', 'email', 'contact_category', 'message')); 
     $this->Contact->set($data); 
     $ret = $this->Contact->validates(); 
        //die(3); 
     if ($ret) { 
      $this->Session->write(self::SES_CONTACT_INFO, $data); 

      $this->redirect(array('controller' => 'contacts', 'action' => 'confirm')); 
     } else { 
      $this->Session->setFlash(
       $this->Contact->getValidationErrorsAsHtml(), 'error'); 
     } 
        // die(4); 
    } else { 
     $contact = $this->Session->read(self::SES_CONTACT_INFO); 
     if ($contact) { 
      $this->request->data['Contact'] = $contact; 
     } 
    } 

    $this->set('contact_categories', $this->Contact->ContactCategory->find('list')); 
} 

回答

1

對於auth設置基本知識,如下面的示例。並重定向使用類似於

$ this-> redirect(array('action'=>'edit',5));

// 1.Basic setup 
$this->Auth->authenticate = array('Form'); 

// Pass settings in 
$this->Auth->authenticate = array(
    'Basic' => array('userModel' => 'Member'), 
    'Form' => array('userModel' => 'Member') 
); 

// Pass settings in using 'all' 
$this->Auth->authenticate = array(
    AuthComponent::ALL => array('userModel' => 'Member'), 
    'Basic', 
    'Form' 
); 
+1

我改變了設置,您提供的示例給了我一個提示,該怎麼做! – user3728425