ユーザーがWebアプリケーションの複数のタブまたはウィンドウを開いてから、アプリケーションの一部が他のウィンドウ/タブのデータを使用していることを発見するという問題に誰かが遭遇したかどうか疑問に思っていました(私はあなたが持っていると確信しています)。
明らかに、これはタブ/ウィンドウが同じ PHP セッション ID を共有しているために発生しているため、レコードを呼び出してその ID をセッションに保存すると、2 番目のウィンドウの呼び出しが最初のウィンドウの ID を置き換え、すべてのタイプの頭痛。
この問題を回避するために、どのような解決策を思いつきましたか? ID を非表示フィールドに入れますか? スクリプトの先頭でセッション名の書き換えを使用していますか (これは避けたいと思います)。この問題に対してあなたが思いついた解決策に興味があります。私のデザインはジャンクで、そのようにするべきではありませんか? 大手企業はこの問題をどのように解決していますか?
私がここで提起するのと同じ質問...
<?php
session_start();
// some code ...
// if user successful login
$_SESSION['user_id'] = $users_id
// we redirect user to member page
if (isset($_SESSION['user_id']){
header("Location:members.php");
}else{
header("Location:login.php");
}
?>
members.php
<?php
session_start();
if (!isset($_SESSION['user_id']){
header("Location:login.php");
}
echo "welcom user : {$_SESSION['user_id']}";
?>