【问题标题】:PHP - QuickForm Submits as Get Rather Than PostPHP - QuickForm 提交为获取而不是发布
【发布时间】:2018-08-15 23:20:56
【问题描述】:

我正在尝试开始使用 PEAR 的 HTML_QuickForm,但我遇到了问题。出于某种原因,我的所有表单数据都是使用 GET 而不是 POST 提交的。默认应该是 POST 并且我已经尝试明确设置它。我唯一能弄清楚的是,当我在表单上简单地调用 display() 时,它可以正常工作。我正在使用静态模板,由于某种原因,当我使用它时它无法正常工作。我的代码如下所示。

<?php
include_once 'HTML/QuickForm.php';
include_once 'HTML/Template/Sigma.php';
include_once 'HTML/QuickForm/Renderer/ITStatic.php';

$form = new HTML_QuickForm('formtest', 'post');
$form->addElement('text', 'mytext');
$form->addRule('mytext', 'This is required', 'required');
$form->addElement('submit', 'mysubmit', 'This is a submit button');

$tpl = & new HTML_Template_Sigma('.');
$tpl->loadTemplateFile('template.html');
$renderer = & new HTML_QuickForm_Renderer_ITStatic($tpl);
$renderer->setRequiredTemplate('{label}<font color="red" size="1">*</font>');
$renderer->setErrorTemplate('<font color="red">{error}</font><br />{html}');
$form->accept($renderer);
$tpl->show();
?>

【问题讨论】:

    标签: php pear quickform


    【解决方案1】:

    没关系,我几乎立刻就意识到了问题所在。我的模板文件如下所示:

    <html>
    <head><title>Test Form</title></head>
    <body>
    <form>
    {formtest_mytext_html}<br />
    {formtest_mytext_label}<br />
    {formtest_mysubmit_html}<br />
    {formtest_mysubmit_label}<br />
    </form>
    </body>
    </html>
    

    问题是我的表单标签无法知道它应该是 POST,所以它总是默认为 GET。相反,表单标签应该是这样的

    <form {formtest_attributes}>
    

    {formtest_attributes} 当然是告诉表单让自己 POST 的位。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-08
      • 2010-11-26
      • 2012-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多