1

2 番目のコードは、現在の SESSION 変数を置き換える必要がありますが、代わりに新しい変数を追加しています。例: $_SESSION['client'] = 254921 の場合、2 番目のビットの if ステートメントは、$_POST 変数から入力された新しいステートメントに置き換えます。しかし、代わりに、254922 に変更すると、$_SESSION['client'] は 254921 と 254922 に等しくなります。どうすれば 254922 を 254921 に置き換えることができますか? ありがとう。

<?php
if(empty($_SESSION['client']) || empty($_SESSION['hash'])) {
        $secrets = mysql_fetch_array(mysql_query("SELECT * FROM `secrets`"));
        $_SESSION['client'] = rand(100000, 999999);
        $_SESSION['rand'] = rand(0, 10000)/100;
        $_SESSION['hash'] = hash('sha512', $_SESSION['rand'] . $_SESSION['client'] . $secrets['secret'] );


 }
 ?>

<?php
    if(!empty($_POST['client']) 
&& strlen($_POST['client']) == 6 
&& is_numeric($_POST['client'])) {

    $_SESSION['client'] = $_POST['client'];


}
?>
4

1 に答える 1

0

これを置き換えます:

$_SESSION['client'] = $_POST['client'];

これで:

unset($_SESSION['client']); // this will unset the variable $_SESSION['client']
$_SESSION['client'] = $_POST['client'];

これが何らかの助けになることを願っています。

于 2013-07-13T22:54:26.300 に答える