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'];
}
?>