ヘッダーとセッション変数に重大な問題があります。関連する投稿を読んでください。
セッションを使用して、ログインしているユーザーに関する情報を保存しています。たとえば、name、user_id などです。
まず、としましょう$_SESSION['user_id']=6;
。
それでは、誰かのプロフィールを見たいと思います。プロファイルを表示したい人を選択するドロップダウン リストがあり、[ ] をクリックしますView
。この処理ページは、選択した人物の user_id を検索し、その人物のプロファイルにリダイレクトします。
コードは次のようなものです。
<?php session_start();
$_SESSION['user_id']=1; //this is the user_id of the person logged in..
/*......many lines of code*/
?>
<select name="user_id">
<option value="4">George Thuo</option>
<!--other many options-->
</select>
<input type="submit" name="view" value="View">
次に、次のような処理ページに移動します。
$user_id=$_POST['user_id'];
header("Location: view.php?user_id=".$user_id);
ヘッダーを使用する前に確認してください.$_SESSION['user_id']=1;
しかしヘッダーがユーザーになった後, 理由はわかりませんが$_SESSION['user_id']=4;(the user_id passed via the $_POST method
なぜ変化しているのですか?