<?php//定義一個用戶組$users=array(? ? array("username"=>"a","password"=>"1","style"=>"css1"),? ? array("username"=>"b","password"=>"2","style"=>"css2"),? ? array("username"=>"c","password"=>"3","style"=>"css3"),? ? array("username"=>"d","password"=>"4","style"=>"css4"),? ? array("username"=>"e","password"=>"5","style"=>"css5"),? ? array("username"=>"f","password"=>"6","style"=>"css6"),);//定義函數,檢查用戶是否登錄function is_login(){? ? //global關鍵字,使用user數組? ? global $users;? ? //cookie值賦給新變量? ? $u=$_COOKIE['username'];//讀取數組中鍵名為username元素的值? ? $p=$_COOKIE['passward'];//讀取數組中名為password元素的值? ? //遍歷用戶組? ? foreach ($users as $key=>$value){? ? ? ? //比較cookie中的值與用戶組中的值? ? ? ? if($value["username"]==$u and $value["password"]==$p){? ? ? ? ? ? //如果相等,返回true? ? ? ? ? ? return TRUE;? ? ? ? }? ? }? ? return FALSE;? ? //遍歷數組后,沒有相等的值,返回false}//定義一個函數,用戶登錄后的cookiefunction login(){? ? global $users;? ? //把$_POST數組中的單元賦給新變量? ? $u=$_POST["username"];? ? $p=$_POST["password"];? ? //遍歷用戶數組? ? foreach ($users as $key=>$value){? ? ? ? //查找表單中提交的變量,檢查是否與用戶組中的一組值相等? ? ? ? if($value["username"]==$u and $value["password"]==$p){? ? ? ? ? ? //如果表單提交的變量等于數組中的值,設置cookie值,供is_login()函數檢查? ? ? ? ? ? setcookie("username",$value["username"]);? ? ? ? ? ? setcookie("password",$value["password"]);? ? ? ? ? ? setcookie("style",$value["style"]);? ? ? ? ? ? //使用JavaScript顯示登錄信息,轉向用戶頁? ? ? ? ? ? echo "<script>alert('登錄成功!');</script>";//顯示登錄成功信息? ? ? ? ? ? echo "<script>window.navigate('renzheng.php');</script>";? ? ? ? ? ? return true;? ? ? ? ? ? //跳轉到其他頁面? ? ? ? }? ? }? ? //遍歷完數組,沒有相等的信息,顯示登錄錯誤信息,跳轉其他頁? ? echo "<script>alert('用戶名或密碼錯誤!');</script>";? ? echo "<script>window.navigate('renzheng.php');</script>";? ? return false;}//定義函數用于刪除cookie,完成注銷function ?logout(){? ? //消除cookie? ? setcookie("username","");//將username中的元素值設置為空? ? setcookie("password","");? ? //顯示注銷信息? ? echo "<script>alert('注銷成功');</script>";? ? echo "<script>window.navigate('renzheng.php');</script>";}//定義用戶登錄表單function loginTable(){? ? print<<<EOD? ? <table width="300" border="0" cellspacing="0" cellpadding="0">? ? <tr>? ? <td><form name="form1" method="post" action="?action=login">? ? <table width="100%" border="0" cellspacing="0" cellpadding="0">? ? <tr>? ? <td>用戶名:</td>? ? <td><label>? ? <input name="username" type="text" id="username">? ? </label></td>? ? </tr>? ? <tr>? ? <td>密碼:</td>? ? <td><label>? ? <input name="password" type="text" id="password">? ? </label>? ? </td>? ? </tr>? ? <tr>? ? <td colspan="2"><label>? ? <input type="submit" name="Submit" value="提交">? ? </label></td>? ? </tr>? ? </table>? ? </form>? ? </td>? ? </tr>? ? </table>? ? EOD;?}??switch($_GET['action'])?{? case "login":? login();? break;? case "logout":? logout();? break;? }? ?>? ?? <!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">? <html>? <head>? <meta http-equiv="Content-Type" content="text/html; charset=GB2312">? <title>用戶登錄</title>? </head>? <body>? <?php? if (is_login()){? ?>? <div class="css"> 你好:<?=$_COOKIE['username'];?> <a href='?action=logout'>注銷</a></div>? <div class='<?=$_COOKIE['style']?>'>用戶登錄后,顯示內容.</div>? <?php? }else{? loginTable();? }? ?>? </body>? </html>
一個cookie的問題
lambert_見
2017-01-18 19:26:50