方法:
1. isset() 用來檢查變數是否設置
2. session_start(); 開啟伺服器端儲存器
3. $_SESSION[變數名稱] 是儲存在伺服器端的變數值
4. die() 會顯示输出字串後退出執行程式
5. unset() 銷毀變數值
程式範例:
<?php
require('ED1.php');
if (!isset($_SESSION)) {
session_start();
}
if(isset($_POST['login_ok'])){
$loginUsername=$_POST['username'];
$password=$_POST['password'];
if( $loginUsername<>NULL && $password<>NULL ){
mysql_select_db($database_ED1, $ED1);
$LoginRS_query=sprintf("SELECT un, up FROM `user` WHERE un='%s' AND up='%s'",$loginUsername,$password);
$LoginRS = mysql_query($LoginRS_query, $ED1) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
$LoginRS_Re1 = mysql_fetch_assoc($LoginRS);//抓取資料
if($loginFoundUser){
$_SESSION['MM_Username']=$loginUsername;
$_SESSION['MM_html'] = "login_2019";
}else{
echo "帳號或密碼錯誤";
}
}else{
echo "帳號或密碼不能空白";
}
}
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
$logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
$_SESSION['MM_Username'] = NULL;
$_SESSION['MM_html'] = NULL;
unset($_SESSION['MM_Username']);
unset($_SESSION['MM_Username']);
unset($_SESSION['MM_html']);
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>會員登入登出語法</title>
</head>
<body>
<?php if(!isset($loginFoundUser)){?>
<form method="post" name="form1" id="form1" action="">
<p>
<label for="textfield">帳號:</label>
<input name="username" type="text" id="username">
<label for="password"><br>密碼:</label>
<input type="password" name="password" id="password">
</p>
<p>
<input name="login_ok" type="hidden" id="login_ok" value="login_ok">
<input type="submit" name="button" id="button" value="確定">
</p>
</form>
<?php }else{
echo $LoginRS_Re1['un'];?>
<a href="<? echo $logoutAction; ?>">登出</a>
<?php } ?>
</body>
</html>