Zend新手在这里......为了让它更好,我的使命是建立在其他人已经存在的Zend网站之上。
(BTW:zf show version - > Zend Framework Version:1.11.1 - 我好像有Zend_Form)。
这是好奇的一点。所有表单都在视图中以HTML格式构建。他们似乎工作,虽然我无法弄清楚 - 特别是考虑到我所看到的。
我遵循惯例并为测试表单创建了一个视图并编写了表单:
<form action="<?php echo $this->url(array('controller'=>'ControllerName','action'=>'submit'));?>" method="post" style="margin-left:20px">
<p class="bold setmgr">Your email here:</p>
<div class="field">
<input class="text" type="text name="custEmail"/>
</div>
<div class="field">
<input class="button" value="Submit and be free!" type="submit"/>
</div>
</form>
控制器中的submitAction成员正在正确触发。没问题。
但我查找POST数据的所有地方似乎都是空的!
echo "obj custEmail = [" . $this->_request->getPost('custEmail') . "]\n";
echo "GET custEmail = [" . $_GET['custEmail'] . "]\n";
echo "POST custEmail = [" . $_POST['custEmail'] . "]\n";
if ($this->_request->isPost()) {
$data = $this->_request->getPost();
Zend_Debug::dump($data);
}
他们都没有产生任何东西。
我非常有必要找到解决问题的方法甚至是线索。
感谢阅读。
答案 0 :(得分:8)
您的表单格式不正确。因为它是PHP,您可以使用这样的表格,或者您甚至可以生成ZEND_FORM(这是一种深刻的方式)。使用ZEND_FORM.If总是一个好习惯。你仍然希望使用这个和你的方式,这是我为你修改的片段。
我正在为您修改代码。您的视图应该包含此格式;
<form action="" method="post" style="margin-left:20px">
<p class="bold setmgr">Your email here:</p>
<div class="field">
<input class="text" type="text" name="custEmail"/>
</div>
<div class="field">
<input class="button" value="Submit and be free!" type="submit" name="submit"/>
</div>
</form>
<?php
echo $this->custEmail;
?>
现在在ACTIOn上写下以下内容,即。 submitAction;
public function submitAction()
{
if ($this->getRequest()->isPost())
{
$custEmail = $this->getRequest()->getPost('custEmail');
echo $custEmail;
$this->view->custEmail = $custEmail;
}
}
现在检查它是否适合你。
答案 1 :(得分:1)
使用Zend_Form创建表单。当ZF已经有办法创建表单时,你应该使用它。你的方法就像一个黑客,不是推荐的做事方式。
点击此处了解如何创建Zend_Form