HTTP Authenticate og Logud
HejJeg har lavet et side som bruger http Authenticate, og det virker sådan set også fint nok, men det jeg har brug for er at have en side hvor jeg kan logge ud.
min login side ser sådan her ud.
<?php
require_once"inc/mysql.php";
require_once"inc/function.php";
session_start();
$customer_id = 2;
if( (!isset($_SERVER["PHP_AUTH_USER"])) && (!isset($_SESSION["user"]["id"])) ) {
header('WWW-Authenticate: Basic realm="CMT-WebSolutions.dk"');
header('HTTP/1.1 401 Unauthorized');
exit("This page requires a username and password<br><a href=\"http://".$_SERVER["SERVER_NAME"]."/logout.php\">Logout</a>");
} else {
$username = $_SERVER["PHP_AUTH_USER"];
$password = $_SERVER["PHP_AUTH_PW"];
$username = strip_tags(trim($username));
$password = strip_tags(trim($password));
$hostname = $_SERVER["SERVER_NAME"];
$sql = "SELECT * FROM customer,employee WHERE employee.username = '".$username."' AND employee.password = '".md5($password)."' AND employee.cid = customer.id AND customer.id = '".$customer_id."'";
$query = mysql_query($sql);
$data = mysql_fetch_array($query);
unset($_SERVER["PHP_AUTH_USER"]);
unset($_SERVER["PHP_AUTH_PW"]);
if( mysql_num_rows($query) == 1 ) {
$_SESSION["user"]["id"] = $data["id"];
header("Location: http://".$_SERVER["SERVER_NAME"]."/show_user.php");
} else {
echo "Det indtastede password var ikke rigtigt prøv igen";
}
}
?>
Hvis jeg laver en unset($_SERVER["PHP_AUTH_USER"]); på den side som jeg bruger til at logge ind på altså login.php så sletter den fint PHP_AUTH_USER men laver jeg min unset fra f.eks logud.php så sletter den ikke PHP_AUTH_USER.
Er der en måde hvor på jeg kan lave en logud funktion? ved godt man bare kan lukke browseren men det er ikke helt den løsning jeg leder efter.
