我开始学习 Zend,所以这是我关注的联系我们页面的链接 -
我的 Zend 版本 - Zend Framework v1.11.11
http://www.tutorial-portal.com/tutorial/show/id/27
我使用命令行创建了表单 -zf create form Contact
它成功创建了 File.Fileforms
下的Contact.php
文件夹。中的代码Contact.php
如下 -
<?php
class Application_Form_Contact extends Zend_Form
{
public function init()
{
/* Form Elements & Other Definitions Here ... */
$this->setmethod('post');
$this->setName('contact-form');
$this->addElement('text', 'name', array(
'label' => 'Please enter your name',
'required' => true,
));
$this->addElement('text', 'email', array(
'label' => 'Please enter email address',
'required' => true,
'validators' => array('EmailAddress'),
));
$this->addElement('textarea', 'message', array(
'label' => 'Please enter your message',
'required' => true,
'validators' => array( array('validator' => 'StringLength', 'options' => array(0, 20) )
));
$this->addElement('captcha', 'captcha', array(
'label' => 'Please enter the 5 letters displayed below:',
'required' => true,
'captcha' => array('captcha' => 'Figlet','wordLen' => 5,'timeout' => 300 )
));
$this->addElement('submit', 'submit', array(
'ignore' => true,
'label' => 'Send Message',
));
$this->addElement('hash', 'csrf', array(
'ignore' => true,
));
}
}
现在我ContactController.php
在C:\xampp\htdocs\projectone\application\controllers
. 此控制器中的代码如下所示 -
<?php
class ContactController extends Zend_Controller_Action
{
public function init()
{
/* Initialize action controller here */
//$form = new Application_Form_Contact();
//$this->view->form = $form;
}
public function indexAction()
{
// action body
// Create form instance
$form = new Application_Form_Contact();
/**
* Get request
*/
$request = $this->getRequest();
$post = $request->getPost(); // This contains the POST params
/**
* Check if form was sent
*/
if ($request->isPost()) {
/**
* Check if form is valid
*/
if ($form->isValid($post)) {
// build message
$message = 'From: ' . $post['name'] . chr(10) . 'Email: ' . $post['email'] . chr(10) . 'Message: ' . $post['message'];
// send mail
mail('contact@yourwebsite.com', 'contact: ' . $post['subject'], $message);
}
}
// give form to view (needed in index.phtml file)
$this->view->form = $form;
}
}
index.phtml
文件夹结构下的 代码C:\xampp\htdocs\projectone\application\views\scripts\contact
是这样的 - 在 php 标签中回显代码 -echo $this->form
但这根本不起作用:(真的无法找到我做错了什么。
它只显示一个空白页面,甚至没有简单的 html 内容。
这是我使用的 URL,尽管其余控制器工作正常 -
http://localhost/projectone/public/contact
PS - 由于我是 Zend 的初学者,我不知道在哪里以及如何查找 Zend 错误,也请告诉我:)