同時使用session和cookie來保存用戶登錄信息
<?php
//數據庫的位置
define(
//用戶名
define(
//口令
define(
//數據庫名
define(
?>
<?php
//插入連接數據庫的相關信息
require_once
//開啟一個會話
session_start();
$error_msg = "";
//如果用戶未登錄
if(!isset($_SESSION[
if(isset($_POST[
$dbc = mysqli_connect(DB_HOST
$user_username = mysqli_real_escape_string($dbc
$user_password = mysqli_real_escape_string($dbc
if(!empty($user_username)&&!empty($user_password)){
//MySql中的SHA()函數用於對字符串進行單向加密
$query = "SELECT user_id
$data = mysqli_query($dbc
//用用戶名和密碼進行查詢
if(mysqli_num_rows($data)==
$row = mysqli_fetch_array($data);
$_SESSION[
$_SESSION[
setcookie(
setcookie(
$home_url =
header(
}else{//若查到的記錄不對
$error_msg =
}
}else{
$error_msg =
}
}
}else{//如果用戶已經登錄
$home_url =
header(
}
?>
<html>
<head>
<title>Mismatch
<link rel="stylesheet" type="text/css" href="style
</head>
<body>
<h
<!
<?php
if(!isset($_SESSION[
echo
?>
<!
<form method = "post" action="<?php echo $_SERVER[
<fieldset>
<legend>Log In</legend>
<label for="username">Username:</label>
<input type="text" id="username" name="username"
value="<?php if(!empty($user_username)) echo $user_username; ?>" />
<br/>
<label for="password">Password:</label>
<input type="password" id="password" name="password"/>
</fieldset>
<input type="submit" value="Log In" name="submit"/>
</form>
<?php
}
?>
</body>
</html>
效果圖
<?php
//使用會話內存儲的變量值之前必須先開啟會話
session_start();
//如果會話沒有被設置
if(!isset($_SESSION[
if(isset($_COOKIE[
//用cookie給session賦值
$_SESSION[
$_SESSION[
}
}
//使用一個會話變量檢查登錄狀態
if(isset($_SESSION[
echo
echo
}
/**在已登錄頁面中
* $_SESSION[
?>
效果圖
<?php
/**同時注銷session和cookie的頁面*/
//即使是注銷時
session_start();
//使用一個會話變量檢查登錄狀態
if(isset($_SESSION[
//要清除會話變量
$_SESSION = array();
//如果存在一個會話cookie
if(isset($_COOKIE[session_name()])){
setcookie(session_name()
}
//使用內置session_destroy()函數調用撤銷會話
session_destroy();
}
//同時將各個cookie的到期時間設為過去的某個時間
setcookie(
setcookie(
//location首部使浏覽器重定向到另一個頁面
$home_url =
header(
?>
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20469.html