我是这个社区的新手,我想问你关于cakephp2的验证和表格。 我有一个名为input()的方法,此方法旨在将forms变量发送到confirm页面。但问题是,即使我按下提交按钮,它也不会进入确认页面。 这是脚本,但我不确定它为什么有效?如果你可以帮助我,那就太棒了!
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'));
}
答案 0 :(得分: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'
);