亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一個cookie的問題

一個cookie的問題

lambert_見 2017-01-18 19:26:50
<?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'];?>&nbsp;&nbsp;&nbsp;&nbsp;<a href='?action=logout'>注銷</a></div>? <div class='<?=$_COOKIE['style']?>'>用戶登錄后,顯示內容.</div>? <?php? }else{? loginTable();? }? ?>? </body>? </html>
查看完整描述

3 回答

已采納
?
葉0528

TA貢獻15條經驗 獲得超10個贊

  1. 第17行——$p=$_COOKIE['passward']更為$p=$_COOKIE['password']

  2. EOD;去掉前面的空格。

  3. 第40-43行——

    cookie 如果要立即生效可以先創建空的cookie,然后賦值。

    比如:

    setcookie('test','');

???????$_COOKIE['test']='123456';


查看完整回答
反對 回復 2017-01-19
?
lambert_見

TA貢獻3條經驗 獲得超0個贊

在switch那一行出現一個

Description Resource Path Location Type

syntax error cookie1.php /liulanqi line 97 PHP Syntax Error

錯誤,麻煩大神誰知道錯在哪里了??怎么改啊?用session寫得時候也會有一個相同的錯誤

查看完整回答
反對 回復 2017-01-18
  • 3 回答
  • 0 關注
  • 1567 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號