0

あるページから別のページへの入力データの表示で問題が発生しました

送信ボタンをクリックすると転送しようとします

これは私がデータを転送しようとしている私のコードです

function cart() {
    $total = 0;
    foreach($_SESSION as $name => $value) {
        if ($value>0) {
            if (substr($name, 0, 5) == 'cart_'){
                $id = substr($name, 5, (strlen($name)-5));
                $get = mysql_query('SELECT id, name, price FROM menu WHERE id=' .mysql_real_escape_string((int)$id));
                while ($get_row = mysql_fetch_assoc($get)){
                    $sub = $get_row['price'] * $value;
                    echo $get_row['name'].' x '.$value.' @ $'.number_format($get_row['price'], 2).' = $'.number_format($sub, 2).' <a href="cart.php?remove='.$id.'">[-]</a> <a href="cart.php?add='.$id.'">[+]</a> <a href="cart.php?delete='.$id.'">[Delete]</a><br />' ;
                }
            }
            $total += $sub;
        }
    }
    if ($total == 0){
        echo "Your Cart Is Empty";
    }
    else {
        echo "<p>Total : $".number_format($total, 2).'</p>';


        <p>
        <form action="bill.php" method="post">
        <?php paypal_items(); ?>
        <input type="submit" value="submit" />
        </form>
        </p>            
    }
}

この行を別のページに表示しようとしています

 echo $get_row['name'].' x '.$value.' @ $'.number_format($get_row['price'], 2).' = $'.number_format($sub, 2).' <a href="cart.php?remove='.$id.'">[-]</a> <a href="cart.php?add='.$id.'">[+]</a> <a href="cart.php?delete='.$id.'">[Delete]</a><br />' ;

そして、私はこのコードを試してみましたが、エラーが発生しました

bill.php

<?php
echo $get_row['name'].' x '.$value.' @ $'.number_format($get_row['price'], 2).' = $'.number_format($sub, 2);
?>

エラー

Notice: Undefined variable: get_row in C:\xampp\htdocs\shopping\bill.php on line 2

Notice: Undefined variable: value in C:\xampp\htdocs\shopping\bill.php on line 2

Notice: Undefined variable: get_row in C:\xampp\htdocs\shopping\bill.php on line 2

Notice: Undefined variable: sub in C:\xampp\htdocs\shopping\bill.php on line 2
x @ $0.00 = $0.00

誰もがそれを行う方法を知っていますか?

私はこの分野の初心者です...

ありがとう

4

5 に答える 5

0

あるページから別のページに変数を移動する場合は、セッション変数を使用します

first.php

session_start();
$_SESSION['variable_name'] = $whatever;

second.php

以下のようなデータを取得します

session_start();
echo $_SESSION['variable_name']; // return value of $whatever

あなたの場合、bill.phpにデータを投稿するので、POST変数でbill.phpにデータを取得します

print_r($_POST) // return all data
于 2012-08-31T05:52:56.287 に答える
0

次に、セッションを使用している場合は、その文字列をセッションに保存します。

于 2012-08-31T05:52:29.423 に答える
0

別のページに値を表示する場合は、変数名を直接使用する代わりに使用します$_POST,$_GET$_SESSION

理解を深めるためにこれを読んでください:http://mrarrowhead.com/index.php ? page = php_passing_variables.php

于 2012-08-31T06:00:05.210 に答える
0

session_start();最初の php ファイルの最初の行に追加します。それから加えて

$target_data = $get_row['name'].' x '.$value.' @ $'.number_format($get_row['price'], 2).' = $'.number_format($sub, 2).' <a href="cart.php?remove='.$id.'">[-]</a> <a href="cart.php?add='.$id.'">[+]</a> <a href="cart.php?delete='.$id.'">[Delete]</a><br />' ;
$_SESSION['target_data'] = $target_data;

エコー前。次に、2 番目の php ファイルでsession_start();、最初の行に再度追加すると、次のような値をエコーできます。

echo $_SESSION['target_data'];
于 2012-08-31T06:05:58.047 に答える
0

ページ間を移動できるようにセッション変数を保存しようとしている場合は、完了したら session_write_close() を呼び出す必要があります。

<?php
session_start();
$_SESSION['foo'] = 'bar';
session_write_close();
?>

これにより、設定されたページの外部にあるセッション データにアクセスできます。

詳細はこちら: http://us2.php.net/manual/en/function.session-write-close.php

于 2012-08-31T06:08:31.740 に答える