ユーザーがログインしているときにログアウトボタンをWebサイトのすべてのページに表示し、誰かがログインしていない場合はそこに表示しないようにする方法はありますか?ある種のphpでうまくいくと思いますが、よくわかりません。私はこれらすべてに少し慣れていないので、詳細な説明をいただければ幸いです。
前もって感謝します!
$ _SESSION ['user']を作成し、ユーザーがログインしたときに入力します。
すべてのページに含めるphpページを作成し、このページでセッション変数$ _SESSION ['user']が設定されているかどうかを確認し、この条件に従ってリンクを表示します
if(isset($_SESSION["user"])){ /*your logout button*/ } else { /*your login button*/ }
新しいセッションを開始し、セッション変数を設定することでそれを行うことができます。
ログインファイルでそれをする
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST' ) {
$username = trim(htmlentities(mysql_real_escape_string($_POST['username'])));
$password = trim(htmlentities(mysql_real_escape_string($_POST['password'])));
if (!empty($username) && !empty($password)) {
$_SESSION['username'] = $username;
echo "<br/> welcome ", $username;
echo "<br/><a href='logout.php'>Logout</a>";
} else {
echo "Please enter correct username or password";
}
} else {
echo "Go to login page</br>";
echo "<a href='login.php'>Login</a>";
}
そして、すべてのページがそのセッション変数をチェックします
<?php
session_start();
if(isset($_SESSION['username'])){
echo "you logged in as </br>", $_SESSION['username'];
echo "<br/><a href='logout.php'>logout</a>";
}else{
//your page stuff
}
ログアウトするには、セッションを破棄します
<?php
session_start();
if (isset($_SESSION['username'])) {
session_destroy();
echo "<br> you are logged out successufuly!";
}
echo "<br/><a href='login.php'>login</a>";
?>
//セッションとCookieについてもっと読むことを忘れないでください。
セッション管理について調べましたか? http://www.php.net/manual/en/book.session.php
これは例です。他の方法があります。
ユーザーがログインしたら、$_SESSION['user']
変数を作成します。
ログアウトボタンを表示する場合は、でセッション変数が設定されているか確認してくださいisset($_SESSION['user'])
。
このような:
if (isset($_SESSION['uid']))
{
if (!empty($_SESSION['uid']))
{
echo "<input type='button' value='Logout' onclick='logout_function();' />";
}
}
Saludos xD
このような何かがトリックを行う必要があります。
if(!empty($_SESSION["user"]))
{
/*
* logout button
*/
}
else
{
/*
* login code
*/
}