我该如何处理CakePHP中的表单?

时间:2013-03-20 02:41:14

标签: cakephp

我正在学习CakePHP。我读了一本CakePHP书和网络教程,但我仍然没有得到一些基本的东西:

我看到人们总是在$form->create的视图中创建一个表单。我可以像平常一样使用HTML表单,还是必须像人们一样使用?

使用以下代码在login.ctp中创建表单时:

echo $form->create('User', array('method' => 'POST', 'action' => 'login'));     
echo $form->input('email');
echo $form->input('password');
echo $form->input(array('type' => 'submit'));
echo $form->end('Login');

当我单击提交按钮时,数据是否会传递给Controller类中的函数login()

已编辑:

我试过了:

<?php
$this->Form->create("Test");
$this->Form->input("stuId",array('class'=>'inputField', 'placeholder'=>'SVxxxxxxxx'));
$this->Form->input("stuName",array('class'=>'inputField', 'name'=>'stuName'));
$this->Form->end();
?>

但它什么都没显示?问题是什么:(

3 个答案:

答案 0 :(得分:3)

但它什么都没显示?问题是什么:(

您必须在第一个代码段中使用echo

echo $this->Form->create("Test");
echo ...

答案 1 :(得分:1)

您可以将HTML用于任何您想要的任何内容,但是您将失去CakePHP框架的一大优势。 Cake HTML和表单助手有助于为您的代码提供面向未来的证明。您还可以获得Cake在Web编码中实现最佳实践的好处。我完全建议使用这些助手。

表单数据传递给$this->request->data

答案 2 :(得分:1)

是的,参数将传递给login方法。

我看到$form在那里的表单中使用了,看来你使用的是旧版本的cakephp(如果$form已经用$this->Form实例化了那么你很好)

FormHelper为我们提供了很多automagic,它还为我们提供了增强安全性的方法。

我认为你可以选择The Blog tutorial