我正在学习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();
?>
但它什么都没显示?问题是什么:(
答案 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