私はこのコードを持っていて、ログアウトボタンを追加するためのコードが必要です。ユーザーをログアウトさせるログアウトボタンのコードをだれでも書き込めます。セッションの破棄について何か読みましたが、コードの書き方がわかりません。ありがとうございます。君は!
<?php
include 'connection.php';
//start of checking if user is logged in code
if (!valid_credentials) {
header('Location: login.php');
exit();
}
$_SESSION['user'] = 'username';
if (!isset($_SESSION['user'])) {
header('Location: login.php');
exit();
}
//end of logged in code and starting a session
$query = "SELECT * FROM people";
$result = mysql_query($query);
While($person = mysql_fetch_array($result)) {
echo "<h3>" . $person['Name'] . "</h3>";
echo "<p>" . $person['Description'] . "</p>";
echo "<a href=\"modify.php?id=" . $person['ID']. "\">Modify User</a>";
echo "<span> </span>";
echo "<a href=\"delete.php?id=" . $person['ID']. "\">Delete User</a>";
}
?>
<h1>Create a User</h1>
<form action="create.php" method="post">
Name<input type ="text" name="inputName" value="" /><br />
Description<input type ="text" name="inputDesc" value="" />
<br />
<input type="submit" name="submit" />
</form>
ボタンの代わりに、リンクを配置して別のページに移動します
<a href="logout.php">Logout</a>
次にlogout.php
ページ、使用
session_start();
session_destroy();
header('Location: login.php');
exit;
セッションを完全に破棄したい場合は、さらに多くのことを行う必要があります
session_destroy();
まず、セッション変数の設定を解除する必要があります。次に、セッションを破棄してから、セッションの書き込みを閉じます。これは、次の方法で実行できます。
<?php
session_start();
unset($_SESSION);
session_destroy();
session_write_close();
header('Location: /');
die;
?>
ログアウト用に別のスクリプトが必要な理由は、ページ上で誤って実行しないようにするためです。したがって、ログアウトスクリプトへのリンクを作成すると、ヘッダーがサイトのルートにリダイレクトされます。
編集:
スクリプトの先頭近くにある終了コードから()を削除する必要があります。それはちょうどあるべきです
exit;