0

ユーザーがサインアップしてプロファイルを作成できるサイトを持っています。ヘッダーに基本的なユーザー プロファイル リンクがあり、ユーザーが他のページを表示するときに自分のプロファイル ページに戻ることができます。スクリプトは正常に動作します。問題は、2 つの異なるタイプのユーザー用に別々のユーザー プロファイル ページが作成されたことです。User1 は profile.php にリンクし、User2 は profile2.php にリンクします。問題は、スクリプトでユーザーの種類を確認し、ログインしているユーザーのステータスに基づいて profile.php または profile2.php を表示する方法がわからないことです。

ここに私が持っているコードがあります:

<?php
    if(isset($_SESSION['valid'])&&$_SESSION['valid']==true){
    // INSERT USER LOGGED IN MESSAGE BELOW AS HTML
?>
<h3><a href='profile.php'><?php echo $_SESSION['userName']; ?></a></h3>

<a href="login.php?action=logout">Logout</a>

<?php
    // END OF IF LOGGED IN STMT
    }
?>

基本的に、User1 がログインしている場合はスクリプトを読み込んでから profile.php にリンクしますが、User2 がログインしている場合は profile2.php にリンクします。私が持っているスクリプトでこれを達成するにはどうすればよいですか?

4

1 に答える 1

0

これはすべて間違っていますprofile.php。ユーザー ID またはユーザー参照 (ユーザー名など) を確認する必要があります。

あなたのロジックは次のようになります。

  1. USERNAME -> へのリンクを取得しますprofile.php?uid=USERNAME
  2. uidプロファイル ページは、値に基づいてユーザーの詳細を取得します
  3. プロフィールページはどのユーザーに対しても動的です

profile.php の例:

<?php
if(isset($_GET['uid'])){
   $username = sanitize($_GET['uid']); // sanitize is not a function, just implying that data is insecure and requires to be santized through whatever method you choose.
   $details = get_user_details($username); // this will check your database/file etc for details on user.
} else {
   // user is not requested $_GET['uid'], nothing to show
   echo "User not found!";
   exit();
}

// output details in any format you desire for queried user

?>
于 2012-06-28T17:38:56.930 に答える