0

ここに私の問題があります。私は他のチームメンバーから渡されたいくつかのコードに取り組んでいます (私のコードではありません)。したがって、すべての変数などがどこで一致するかを理解するのは非常に詳細で面倒です。ここのコードが機能しない理由で問題を引き起こしていたこの部分を見つけることができました

<td nowrap style="border-left: 1px solid #dddddd;" align="center">&nbsp;&nbsp;

                     <?=$display_balance_details;?>

このコードは明らかに $display_balance_details が特定のページにのみ設定されるように設定しています。私の問題は、これをすべての Web ページのヘッダーに移動しようとしていることです。

    else if ($section == 'history')
    {
        $user = new user();
        $user->setts = &$setts;

        $row_user = $db->get_sql_row("SELECT * FROM
            " . DB_PREFIX . "users WHERE user_id=" . $session->value('user_id'));

        $template->set('user_details', $row_user);

        $template->set('display_account_status', $user->account_status($row_user['active'], $row_user['approved']));

        $user_payment_mode = $fees->user_payment_mode($session->value('user_id'));
        $template->set('user_payment_mode', $user_payment_mode);

        $template->set('display_payment_mode', $user->payment_mode_desc($user_payment_mode));

        (string) $display_balance_details = null;
        $display_balance_details = $user->show_balance($row_user['balance'], $setts['currency']);

        if ($user_payment_mode == 2 && $row_user['balance']>=$setts['min_invoice_value'])
        {
            $display_balance_details .= ' [ <a href="fee_payment.php?do=clear_balance">' . MSG_CLEAR_ACC_BALANCE . '</a> ]';
        }

        $template->set('display_balance_details', $display_balance_details);

        $show_history_table = false;

このコードは、どのページに設定するかを指示します

<? } else if ($page == 'account') { ?>
<td nowrap <?=(($section == 'history') ? 'class="subcell_a"' : 'class="subcell_u"');?>><a href="<?=process_link('members_area', array('page' => 'account', 'section' => 'history'));?>">

したがって、私の問題は、 $section == 'history' ビットを削除せずに $display_balance_details を設定する方法です (これは、コードがどのように記述されているかがわからないため、今後他の問題が発生する可能性があるためです)。

4

1 に答える 1

0

変数をグローバルにすることができます:

global $display_balance_details;

または、次の場合の前に $display_balance_details を宣言します。

(string) $display_balance_details = null;
if ($section == 'history')
{
your code
}
于 2012-07-26T21:59:55.627 に答える