2012-09-07 59 views
0

我正在嘗試使用PFBC,並遇到一些問題。php-form-b​​uilder-class not rendering

在一臺服務器上,文件夾「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(均爲工作服務器&非工作服務器)。

+0

你確定你的php版本是> = 5.3? – prodigitalson

+0

否;它是5.2.17。這有什麼區別?對不起,我對PHP不太好。 – circey

+0

是的。該代碼似乎使用需要PHP 5.3或更高版本的名稱空間。 – prodigitalson

回答

0

不;它是5.2.17。這有什麼區別?對不起,我對PHP很好。

是的。該代碼似乎使用需要PHP 5.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(); 
+0

這仍然給我錯誤。也許我應該嘗試找到PFBC的舊版本。 – circey

0

有兩種截然不同/單獨下載這個項目 - 一個用於PHP 5(無名稱空間),另一個用於PHP 5.3+。您必須在PHP 5.3+版本中使用名稱空間,並且您不能在PHP 5版本中使用它們。

要解決您的問題,您需要下載PHP 5版本(http://php-form-b​​uilder-class.googlecode.com/files/pfbc2.3-php5.zip)並替換您的服務器現有的PFBC目錄與下載中包含的PFBC目錄。

希望這會有所幫助。