2013-09-24 34 views
1

我最近將PHP版本從4改爲5.3。我現在是如何一些代碼不工作了。當用戶點擊鏈接時,我有一個PHP腳本,可以將表單中的數據提取到新表單中。從PHP版本4切換到版本5.3 - 代碼不再工作

首先,它識別用戶/帳戶之後,它發現表單數據。

這是帳戶數據的代碼:

$account_info = ft_get_account_info($_SESSION["ft"]["account"]["account_id"]); 
$emailadresse = ($account_info['email']); 
$accountid = ($account_info['account_id']); 
$firstname =($account_info['first_name']); 
$lastname =($account_info['last_name']); 

.... ....

這工作,以及i可以通過例如顯示數據:

<?php echo $_POST['firstname']; ?> 

然後我得到這個代碼以獲取並顯示錶格數據:

$submission_info = ft_get_submission_info($form_id, $submission_id); 
$submission_id = ($submission_info['submission_id']); 
$partname = ($submission_info['partname']); 
$ponumber = ($submission_info['ponumber']); 
.... 
.... 
<?php echo $_POST['partname']; ?> 

這不是在PHP 5.3版本的工作了。

誰能告訴我需要重新寫這個代碼到,爲了它的工作... ????

在此先感謝!

除了我對這個ft_get_account_info代碼中的註釋:

$_SESSION["ft"]["account"] = ft_get_account_info($account_info["account_id"]); 

這對於ft_get_submission_info:在錯誤報告

/** 
* Returns all information about a submission. N.B. Would have been nice to have made this just a 
* wrapper for ft_get_submission_info, but that function contains hooks. Need to revise all core 
* code to allow external calls to optionally avoid any hook calls. 
* 
* @param integer $form_id 
* @param integer $submission_id 
*/ 
function ft_api_get_submission($form_id, $submission_id) 
{ 
    global $g_table_prefix, $g_api_debug; 
    // confirm the form is valid 
    if (!ft_check_form_exists($form_id)) 
    { 
    if ($g_api_debug) 
    { 
     $page_vars = array("message_type" => "error", "error_code" => 405, "error_type" => "user"); 
     ft_display_page("../../global/smarty/messages.tpl", $page_vars); 
     exit; 
    } 
    else 
     return array(false, 405); 
    } 
    if (!is_numeric($submission_id)) 
    { 
    if ($g_api_debug) 
    { 
     $page_vars = array("message_type" => "error", "error_code" => 406, "error_type" => "user"); 
     ft_display_page("../../global/smarty/messages.tpl", $page_vars); 
     exit; 
    } 
    else 
     return array(false, 406); 
    } 
    // get the form submission info 
    $submission_info = mysql_query(" 
    SELECT * 
    FROM {$g_table_prefix}form_{$form_id} 
    WHERE submission_id = $submission_id 
       "); 
    $submission = mysql_fetch_assoc($submission_info); 
    return $submission; 
} 

沒有。

+0

什麼是「ft_get_submission_info」功能嗎?一切看起來都是完全可以接受的代碼 – cernunnos

+0

您的錯誤日誌是否包含任何有價值的信息?也許任何被棄用的功能或類似的東西? – DKSan

+0

您是否打開了錯誤報告? – Mark

回答

1

我不知道你的具體問題是什麼,但我認爲,如果你使用所有提供給您的調試工具,你就可以很容易地找到您的問題。

爲了發展,你應該始終保持你的error reporting水平E_ALL^E_STRICT。你可以在你的php.ini文件中找到這個設置。 E_STRICT將特別有助於確定互操作性和兼容性問題,並且不包括在E_ALL中,直到PHP 5.4,according to the manual

您可能還想使用Netbeans和XDebug,它應該允許您逐行執行代碼,這將極大地簡化調試過程。沒有爲這裏設置這些工具的指南:Debugging PHP Source Code in the NetBeans IDE

相關問題