0

セッション値を更新できません

これがコードです

<CENTER>
<?PHP
    session_start();


$_SESSION['value'] = 15;

    if(isset($_POST['submit'])){
    $plus = 10;
    $_SESSION['value'] = ($_SESSION['value']  + $plus);
    }

echo "<FORM METHOD=post ACTION=\"?page=try&". time(). "\" NAME=try>\n"; 
echo "<br>";
echo "Your value :" .$_SESSION['value'];
echo "<INPUT TYPE=submit NAME=submit VALUE=\"Submit\"></FORM>";
?>
</CENTER>

問題は、そのボタンをクリックするたびに、常に同じ結果が得られることです。

これ$_SESSION['value']は常に 15 であり、変更されることはありません

セッション値を更新する方法は?$_SESSION['value']ボタンをもう一度クリックすると 35になります(過去の結果は 25 です)

ありがとう

4

2 に答える 2

3

セッション値を明示的に 15 に設定し、それに 10 を追加します。35 に達することはありません。15 への割り当てを削除して (または、そのif(!isset($_SESSION['value']))前にチェックを追加して)、もう一度やり直してください。

また、John Conde のアドバイスに従い、出力を送信する前に PHP セッションを開始するようにしてください。マニュアルをお読みください

于 2012-07-20T18:16:34.787 に答える
1

session_start()出力がブラウザーに送信される前に行う必要があります (Cookie ベースのセッションを使用する場合)。

<?php session_start(); ?>
<CENTER>
<?php
$_SESSION['value'] = 15;

    if (isset($_POST['submit'])) {
        $plus = 10;
        $_SESSION['value'] = ($_SESSION['value']  + $plus);
    }

echo $_SESSION['value'];
echo '<form method="post" action="try1.php" name="try">' . "\n";
echo '<br>';
echo 'Your value :' . $_SESSION['value'];
echo '<input type="submit" name="submit" value="submit"></form>';
?>
</CENTER>
于 2012-07-20T18:07:07.503 に答える