我尝试使用CakePhp框架向我的数据库表中添加一个新行,但它无法正常工作。 这是我的add.ctp
echo $this->Form->create(array('type' => 'get'));
echo $this->Form->input('username');
echo $this->Form->input('password');
echo $this->Form->end('Save');
这是控制器添加功能:
public function add() {
if ($this->request->is('get')) {
$this->Admin->create();
if ($this->Admin->save($this->request->data)) {
debug("done");
$this->Session->setFlash(__('Your post has been saved.'));
return $this->redirect(array('action' => 'index'));
}
}
}
这是我的Admin Model类:
class Admin extends AppModel {
public $validate = array(
'username' => array(
'rule' => 'notEmpty'
),
'password' => array(
'rule' => 'notEmpty'
)
);
但新的行永远不会添加到我的Admins表中。数据库工作正常(我可以检索表中的所有行)。 我正在使用xampp
在localhost上工作答案 0 :(得分:1)
由于你的$ this-> request-> data is not populated with information you sent with your request,它无效。只需CakePHP以不同的方式处理post和get。
可以使用CakeRequest :: $ data。
访问所有POST数据
如果由于某种未知原因,您希望使用' get'你可以像这样访问它
$data['username'] = $this->params['url']['username'];
$data['password'] = $this->params['url']['password'];