我正在尝试使用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目录替换为下载中包含的目录。
希望这能有所帮助。