方法:
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>
