2013-09-24 32 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

相关问题