1

こんにちは、これは以前の質問のフォローアップです。PHP とラジオ ボタンを使用して試験を作成したと説明しました。変数が正常に渡されたため、GET メソッドとエコー プロンプトを使用して計算され、画面に表示されます。

私の問題は、新しいユーザーがページを表示すると、変数 totalscore が定義されていないことを示すエラー メッセージが表示されることです。これは、GET メソッドの変数がないため、現在この変数が存在しないために発生することを理解しています。結果があるときは「合計スコア:20%」を達成しようとしていますが、ないときは空白です。

isset および SESSION コマンドを使用して if ステートメントを作成する必要があることを調査しました。

<? $totalScore=$_GET['totalscore']; ?>

<? if (isset($_SESSION['totalscore']))

{
echo "Total Score";
echo $totalScore;
echo "&#37;";
}
else
{}
?> 

このコードが完全に間違っている場合はご容赦ください。私の理解では、セッションに変数 'totalscore' がある場合、ページは情報をエコーし​​、ない場合は何も表示されません。

敬具

4

3 に答える 3

1

通知を無効にするか、次のことを行うことができます。

<?php $totalScore = isset($_GET['totalscore']) ? $_GET['totalscore'] : false; ?>

また、次のようなことを行う必要があります if($totalScore) { do anything }

:)

于 2013-03-01T16:45:52.427 に答える
1

先頭ページ

if (isset($_GET['totalscore'])) {
    // grab data
    $totalScore = $_GET['totalscore'];
    // store in session
    $_SESSION['totalscore'] = $totalScore;
}

2 ページ目または同じページ

// check the session and use
if (isset($_SESSION['totalscore'])) {
    echo "Total Score";
    echo $_SESSION['totalscore'];
    echo "&#37;";
} else {
    // session not exists
}
于 2013-03-01T16:46:20.927 に答える
0

セッションの乗っ取りを防ぐ<? session_start(); ?>には 、次を追加する必要があります。

セッションを保護する方法も学びます

于 2013-03-01T16:46:26.007 に答える