私はレストランでテーブルを予約するためのコードを書いています。しかし、私のクライアントは、レストランメニューからいくつかの項目を選択して戻ってきて、テーブルを予約できるように頼んだ。ユーザーがメニューを選択したくない場合は、そのステップを無視することができます。なぜ私はPHPでセッションを解除できないのですか?
このようにするには、「メニューを選択しますか?」というメッセージが印刷されました。メニューページへのハイパーリンクをクリックします。私はiavascript onClickイベントを使用して、ユーザーがクリックされたかどうかを聞きました。クリックされた場合、私のセッションでユーザーの活動を追跡するために関数のsetessionを呼び出しました。私はページの上に機能を宣言しました。
<script>
function setsession(){
<?php $_session['reservation']= TRUE;
}
</script>
<form action="" method="post">
<p>Do you want to choose menu? Then <a href="somepage.php" onClick="setsession()">Click here.</a></p>
<p>rest of my code</p>
<p>confirm to reserve.</p>
<a href="javascript:{}" onclick="return Validate();submitform();">Confirm</a>
</form>
<?php if(isset($addnew) && !$error) ?>
<div class="success">
<p>sucess</p>
<?php $_SESSION['reservationprocess'] = FALSE;?>
</div>
<?php } ?>
すべて正常に機能しました。ハイパーリンクのセッション変数を正常にクリックしたとき。そして、私は確認ボタン(上のハイパーリンク)をクリックすると、データをデータベースに正常に保存し、メッセージの成功を引き出し、セッションを解除します。
しかし、問題はどのように、なぜ私のセッションが再び設定されていないのですか?どのくらいセッションを解除しようとしたのですか?失敗しました。私の残りのコードはうまく動作しており、問題はありません。私はそれをテストしました。専門家からの解決策はありますか?前もって感謝します。
ページ上部の 'session_start()'を呼び出しましたか? –
はい。私のサイトはログインシステムを持っています。 – maksbd19
いくつかのこと.. PHPは、JavaScriptがレンダリングされる前にサーバー上で評価されます。 JavaScriptの条件に基づいてphp変数を更新できるかどうかはわかりません。次に、最初の<?phpタグには終了タグがありません。再び、私はそれが重要だとは思わない。 –