Okay, I have a cookie set and a session set to hold the username of the user.
At the top of the page I have:
<?php
if(isset($_COOKIE["hhr_account"])){
$username = $hhr_account;
$sql = mysql_query("SELECT * FROM cms_users WHERE username='$username'");
$login_check = mysql_num_rows($sql);
if($login_check > 0){
$_SESSION["username"] = $username;
/* Update last login date */
mysql_query("UPDATE cms_users SET last_login=now() WHERE username='$username'");
/* END Update last login date */
/* Method to only update points on a per hour basis */
mysql_query("UPDATE cms_users SET user_points = user_points+1 WHERE username= '$username' AND point_interval < NOW()- 3600");
mysql_query("UPDATE cms_users SET point_interval = now() WHERE username='$username'");
/* END Method to only update points on a per hour basis */
}
}
if(isset($_SESSION["username"])){
$username = $_SESSION["username"];
stripslashes($username);
$data = $username;
setcookie("hhr_account","$data",time()+36000000);
}
if ($_GET['action'] == "logout"){
/* set the expiration date to one hour ago */
session_unregister("username");
session_unregister("registered");
session_unset();
session_destroy();
setcookie ("hhr_account", "", time() - 3600, "/");
header("Location: /index.php");
}
/* ...................................................................................... */
?>
Then to display whether they are logged in or not I use the following:
<?php
if (isset($_POST['submit_x']))
{
login_results();
}
if (isset($_SESSION["username"])){
$username = $_SESSION["username"];
$user_level = mysql_query("SELECT user_level FROM cms_users WHERE username = '$username'");
$user_level = mysql_result($user_level, 0);
$avatar = mysql_query("SELECT avatar FROM cms_users WHERE username = '$username'");
$avatar = mysql_result($avatar, 0);
$pm_query = mysql_query("SELECT * FROM cms_privatemessage WHERE userto='{$_SESSION["username"]}' AND status='0' AND opened='0'");
$new_pm_count = mysql_num_rows($pm_query);
$ft_query = mysql_query("SELECT * FROM cms_freshtalent WHERE freshtalent_user = '{$_SESSION["username"]}'");
$ft_count = mysql_num_rows($ft_query);
echo'
<table width="568" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="192" height="33" bgcolor="#FFFFFF">
<div align="left"><font color="#000000">
Welcome </font><font color="#FF3300">' . $_SESSION["username"] . '</font></div>
</td>
<td width="187" height="33" bgcolor="#FFFFFF">
';
if($new_pm_count == 1){
echo' <font class="redlinks"><a href="/pm/">You have <strong>' . $new_pm_count . '</strong> unread PM</a></font>';
}
else if($new_pm_count > 1){
echo' <font class="redlinks"><a href="/pm/">You have <strong>' . $new_pm_count . '</strong> unread PM\'s</a></font>';
}
else{
echo' <a href="/pm/">You have no unread PM\'s</a>';
}
echo'
</td>
<td width="53" height="33" bgcolor="#FFFFFF">
<div align="center"><b> </b></div>
</td>
<td width="240" height="33" bgcolor="#FFFFFF">
<div align="right">';
if($ft_count != 0){
echo'<b><a href="/freshtalent/editpage.php">Edit Talent</a></b> |';
}
echo'
<b><a href="/edit_profile.php">Edit profile</a></b> |
<a href="?action=logout">Logout</a> </div>
</td>
</tr>
</table>
';
}
else
{
login_form();
}
?>
The problem here being that I cannot logout. Where have I gone wrong?
Thanks!