1

以下のphpコードはlogin_successful.phpで、ユーザーがログインした後に取得されます。このページでは、ユーザーの「ユーザー名」とログアウトリンクを表示します。

<html>
<head>
<?php
session_start();
if(!session_is_registered(myusername)){
header("location:home.html");
}

?>
</head>
<body>
Welcome $myusername //here i want to display logged in user's name
Login Successful

</body>
</html>

別のlogout.phpファイルを使用せずにこのページにログアウトリンクを配置するにはどうすればよいですか。

4

3 に答える 3

4

Why use another page for logout? Do it like this

<?php
if(isset($_POST['logout'])) {
  //Unset cookies and other things you want to
  session_destroy();
  header('Location: login.php'); //Dont forget to redirect
  exit;
}
?>
<form method="POST">
  <input type="submit" name="logout" />
</form>
于 2012-11-13T10:45:04.150 に答える
0

セッションに彼のユーザー名があるかどうかを確認してから、次のように表示する必要があります。

session_start();
if(isset($_SESSION['username'])){
   echo "Hello, " . $_SESSION['username']);
   echo "<a href="logout.php">Logout</a>"
}
于 2012-11-13T10:47:05.943 に答える
0

いつでもsession_destroy()を呼び出して、(何を推測して) セッションを破棄できます! マニュアルから:

session_destroy() は、現在のセッションに関連付けられているすべてのデータを破棄します。セッションに関連付けられたグローバル変数の設定を解除したり、セッション Cookie を設定解除したりすることはありません。

使用よりも重要なのは、次のようにsession_destroy()1 時間前の時刻に設定して、Cookie (使用されている場合) を確実にリセットすることです。time() - 3600

setcookie ("YourCookieName", "", time() - 3600);
于 2012-11-13T10:49:35.237 に答える