ホームページで会員制サービスを行っています。現在、誰かがログアウトすると、次のコードを含む logout.php にリダイレクトされます。
<?php
//check if the login session does no exist
if(strcmp($_SESSION['uid'],”) == 0){
//if it doesn't display an error message
echo "<center>You need to be logged in to log out!</center>";
}else{
//if it does continue checking
//update to set this users online field to the current time
mysql_query("UPDATE `users` SET `online` = '".date('U')."' WHERE `id` = '".$_SESSION['uid']."'");
//destroy all sessions canceling the login session
session_destroy();
//display success message
echo "<center>You have successfully logged out!<br><a href = '/review-pratt/index.php' class='icon-button star'>Return Home</button></center>";
}
?>
ユーザーを「logout.php」に連れて行って、ログアウトしたという退屈なページを表示する代わりに。それらをindex.phpにリダイレクトしたい。その部分は簡単です、私は知っています。
上部に通知バーを表示して、ログアウトに成功したことを通知したいと考えています。私は以前にこれをやろうとしましたが、何もうまくいきませんでした。ヘルプや提案をいただければ幸いです。
アップデート
logout.php コードを次のように変更しました。
<?php
//check if the login session does no exist
if(strcmp($_SESSION['uid'],”) == 0){
//if it doesn't display an error message
echo "<center>You need to be logged in to log out!</center>";
}else{
//if it does continue checking
//update to set this users online field to the current time
mysql_query("UPDATE `users` SET `online` = '".date('U')."' WHERE `id` = '".$_SESSION['uid']."'");
//destroy all sessions canceling the login session
session_destroy();
//Redirect with success message
header('Location: /index.php?msg=' . urlencode("You have been successfully logged out!"));
}
?>
私のindex.phpに次のコードを追加しました:
<?php
if ($_GET['msg'])
{
echo '<div class="success_message">' . base64_decode(urldecode($_GET['msg'])) . '</div>';
}
?>
ログアウトすると、次のエラーが表示されます。
Warning: Cannot modify header information - headers already sent by (output started at /home/content/38/10473938/html/review-pratt/business_profiles/logout.php:19) in /home/content/38/10473938/html/review-pratt/business_profiles/logout.php on line 35