php表单生成器类未呈现


php-form-builder-class not rendering

我正在尝试使用PFBC,但遇到了一些问题。

在一台服务器上,文件夹"PFBC"已上传到/public_html/,表单显示良好。

在不工作的服务器上,文件夹"PFBC"已上传到/www/htdocs/,表单根本没有呈现,我收到错误500内部服务器错误。

我使用的代码如下

<?php
session_start();
include($_SERVER["DOCUMENT_ROOT"] . "/PFBC/Form.php");
$form = new PFBC'Form("TestForm", 300);
$form->addElement(new PFBC'Element'Button);
$form->render();
?>

echo $_SERVER["DOCUMENT_ROOT"] . "/PFBC/Form.php";

返回/usr/home/thin30/www/htdocs/PFBC/Form.php

并将以下代码添加到Form.php文件

$dir = dirname(__FILE__);
echo "<p>Full path to this dir: " . $dir . "</p>";

返回Full path to this dir: /usr/home/thin30/www/htdocs/PFBC

有人能告诉我为什么表格没有呈现出来吗?或者给我指一个可能有用的方向?

/PFBC/上的文件夹权限为755(工作服务器和非工作服务器)。

否;现在是5.2.17。这有什么不同?对不起,我很擅长PHP。

是的。该代码似乎使用了需要php5.3或更高版本的名称空间。

实际上,从谷歌代码页上看,你可以在不使用名称空间的情况下使用2.x版本,他们给出的例子是:

/PFBC 2.x PHP 5
session_start();
include($_SERVER["DOCUMENT_ROOT"] . "/PFBC/Form.php");
$form = new Form("GettingStarted", 300);
$form->addElement(new Element_Textbox("My Textbox:", "MyTextbox"));
$form->addElement(new Element_Select("My Select:", "MySelect", array(
   "Option #1",
   "Option #2",
   "Option #3"
)));
$form->addElement(new Element_Button);
$form->render();

这个项目有两个不同/独立的下载-一个用于PHP 5(没有命名空间),另一个用于PHP 5.3+。你必须在PHP 5.3+版本中使用命名空间,而在PHP 5版本中不能使用它们。

为了解决您的问题,您需要下载PHP5版本(http://php-form-builder-class.googlecode.com/files/pfbc2.3-php5.zip)并将服务器现有的PFBC目录替换为下载中包含的目录。

希望这能有所帮助。