亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 70
粉絲 4
評論 5
訪問量 122066
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
PHP:PDO->fetch()和fetchAll()遍歷,session進(jìn)行會話跟蹤,用戶退出清除session
JiaJieChen
原創(chuàng)
1208人瀏覽過

PHP:PDO->fetch和fetchAll遍歷,session進(jìn)行會話跟蹤,用戶退出清除session

一.fetch()和fetchAll()遍歷

①fetch()遍歷

fetch 采用while循環(huán)進(jìn)行數(shù)組遍歷

代碼塊

  1. <?php
  2. //引入服務(wù)器連接
  3. require "/xp/phpstudy_pro/WWW/www.zwz.com/zwz/0512/config/PDO.php";
  4. //訪問數(shù)據(jù)表中數(shù)據(jù)
  5. $sql = "SELECT `id` ,`uname`,`pwd` FROM `user` WHERE `id` >= ? ;";
  6. $stmt = $pdo->prepare($sql);
  7. $stmt->execute([1]);
  8. // $user = $stmt->fetch();
  9. while ($user = $stmt->fetch()) {
  10. vprintf("<li>id = %s , uname = %s , pwd = %s</li>",$user);
  11. }

②fetchAll()遍歷

fetchAll 采用foreach 進(jìn)行數(shù)組遍歷

代碼塊

  1. <?php
  2. //引入服務(wù)器連接
  3. require "/xp/phpstudy_pro/WWW/www.zwz.com/zwz/0512/config/PDO.php";
  4. //訪問數(shù)據(jù)表中數(shù)據(jù)
  5. $sql = "SELECT `id` ,`uname`,`pwd` FROM `user` WHERE `id` >= ? ;";
  6. $stmt = $pdo->prepare($sql);
  7. $stmt->execute([1]);
  8. $user = $stmt->fetchAll();
  9. foreach ($user as $key => $value) {
  10. vprintf("<li>id = %s ,uname = %s ,pwd = %s</li>",$value);
  11. }
  • Cookie是Web服務(wù)器在用戶訪問Internet站點(diǎn)時傳遞到Web瀏覽器的消息。瀏覽器會將每條消息以名稱 - 值對的形式存儲在用戶計(jì)算機(jī)上的一個小文件中。當(dāng)用戶從服務(wù)器請求另一個頁面時,瀏覽器會將cookie發(fā)送回服務(wù)器。這些文件通常包含有關(guān)用戶訪問網(wǎng)頁的信息,以及用戶自愿提供的任何信息,例如:用戶信息,用戶首選項(xiàng),密碼記住選項(xiàng)等。

    • 使用Cookie的優(yōu)點(diǎn)
      1、Cookie易于使用和實(shí)現(xiàn)
      實(shí)現(xiàn)cookie的使用要比任何其他Internet協(xié)議容易得多。
      2、占用更少的內(nèi)存
      不需要任何服務(wù)器資源,并存儲在用戶的計(jì)算機(jī)上,因此不會給服務(wù)器帶來額外的負(fù)擔(dān)。
      3、持久性
      Cookie最強(qiáng)大的一個方面就是持久性。當(dāng)在客戶端的瀏覽器上設(shè)置Cookie時,它可以持續(xù)數(shù)天,數(shù)月甚至數(shù)年。這樣可以輕松保存用戶首選項(xiàng)和訪問信息,并在用戶每次返回站點(diǎn)時保持此信息可用。此外,由于Cookie存儲在客戶端的硬盤上,因此如果服務(wù)器崩潰,它們?nèi)匀豢捎谩?br>4、 透明性
      Cookie透明地工作,用戶不知道需要存儲的信息。
      5、易于管理
      大多數(shù)瀏覽器都可以讓用戶輕松清除瀏覽歷史記錄。只需轉(zhuǎn)到工具,清除歷史記錄并選擇Cookie即可。
      Cookie存儲在用戶硬盤驅(qū)動器上的cookie.txt下的文本文件中,因?yàn)樗且粋€文本文件,我們可以使用任何查看器或文本編輯器來顯示,編輯和刪除它們。

    • 使用Cookie的缺點(diǎn)
      1、隱私問題
      大多數(shù)用戶主要關(guān)心的是隱私。啟用Cookie的Web瀏覽器會跟蹤您訪問過的所有網(wǎng)站。這意味著,經(jīng)許可(或不在Google的情況下),第三方可以訪問這些cookie存儲的信息。在某些情況下,這些第三方可以是廣告商,其他用戶。。。。
      2、不安全
      Cookie安全性是一個大問題,因?yàn)樗鼈兪且悦魑男问酱鎯?,可能會造成安全風(fēng)險,因?yàn)槿魏稳硕伎梢源蜷_并篡改cookie。
      Cookie容易在客戶端被發(fā)現(xiàn)意味著它們很容易被黑客入侵和修改。
      3、難以解密
      我們可以手動加密和解密cookie,但由于加密和解密所需的時間,它需要額外的編碼并影響應(yīng)用程序性能。
      4、大小有限制,只能儲存簡單字符串信息
      cookie文本的大?。ㄒ话銥?kb),cookie的數(shù)量(一般每個站點(diǎn)20個)存在一些限制,每個站點(diǎn)只能容納20個cookie。
      Cookie僅限于簡單的字符串信息,他們無法存儲復(fù)雜的信息。
      5、可以被禁用
      用戶可以選擇從瀏覽器設(shè)置中禁用其計(jì)算機(jī)上的cookie。這意味著用戶可以決定不在他的瀏覽器上使用cookie,這可能會在瀏覽器的運(yùn)行中產(chǎn)生一些問題。
      6、可以被刪除
      用戶可以從其計(jì)算機(jī)中刪除cookie,這使他們可以更好地控制cookie。

setcookie 是創(chuàng)建一個cookie ,$_COOKIE 是全局變量可以打印指定的cookie,創(chuàng)建cookie第一次是請求,第二次才能響應(yīng)出結(jié)果

cookie參數(shù),第三個參數(shù)時間目的是設(shè)置什么時候到期,后面還有許多參數(shù),詳細(xì)了解的話要看官方的解釋…

三.session 會話跟蹤

  • Session的機(jī)制
    • session機(jī)制采用的是在服務(wù)器端保持狀態(tài)的方案,并且有自己對應(yīng)的唯一標(biāo)識session_id,區(qū)分不同用戶之前的信息。
  • Session的工作原理

    • 當(dāng)一個session第一次被啟用時,一個唯一的標(biāo)識被存儲于本地的cookie中;
    • 首先使用session_start()函數(shù),PHP從session倉庫中加載已經(jīng)存儲的session變量;
    • 當(dāng)執(zhí)行PHP腳本時,通過使用session_register()函數(shù)注冊session變量。
    • 當(dāng)PHP腳本執(zhí)行結(jié)束時,未被銷毀的session變量會被自動保存在本地一定路徑下的session庫中,這個路徑可以通過php.ini文件中的session.save_path指定,下次瀏覽網(wǎng)頁時可以加載使用。
  • Session的優(yōu)缺點(diǎn)

  • 優(yōu)點(diǎn)

    • 唯一性、方便調(diào)用、不會過多占用資源,是存儲在服務(wù)器的一組臨時數(shù)據(jù)。一般情況下,我們在做用戶登錄時,會將用戶數(shù)據(jù)存入session。這樣,在任何頁面都可以方便調(diào)用,而且每個客戶端會產(chǎn)生唯一的session_id,不會混淆。并且在關(guān)閉瀏覽器后,服務(wù)器會有session回收機(jī)制,自動刪除過期session。
  • 缺點(diǎn)

    • 在客戶端是以cookie方式保存的,禁用cookie,session就失效了。
  • cookie和session的區(qū)別

    • Cookie機(jī)制采用的是在客戶端(瀏覽器)保持狀態(tài)的方案,而session機(jī)制采用的是在服務(wù)器端保持狀態(tài)的方案。

①session進(jìn)行會話跟蹤,用戶退出清除session

  1. switch($action)
  2. {
  3. case 'login':
  4. //檢測用戶是否存在
  5. $sql = "SELECT `uname`,`pwd` FROM `users` WHERE `uname`= ?; ";
  6. $stmt = $pdo->prepare($sql);
  7. $stmt->execute([$username]);
  8. $res = $stmt->fetch();
  9. // var_dump($res);
  10. if($res)
  11. {
  12. //檢測密碼 的正確性
  13. if(password_verify($password,$res['pwd']))
  14. {
  15. //驗(yàn)證通過 存session
  16. $_SESSION['uname'] = $res['uname'];
  17. echo json_encode(array('status'=>1,'msg'=>'登錄成功...正在跳轉(zhuǎn)'),320);
  18. }else{
  19. echo json_encode(array('status'=>0,'msg'=>'用戶名或密碼錯誤'),320);
  20. }
  21. }else{
  22. echo json_encode(array('status'=>0,'msg'=>'用戶名或密碼錯誤'),320);
  23. }
  24. break;
  25. case 'captcha_check':
  26. //將session中的驗(yàn)證碼和用戶提交的驗(yàn)證碼進(jìn)行核對,當(dāng)成功時提示驗(yàn)證碼正確,并銷毀之前的session值,不成功則重新提交 strcasecmp
  27. if(!empty($captcha) && strtolower($_SESSION["captcha"]) === strtolower($captcha)){
  28. $_SESSION["captcha"]="";
  29. echo json_encode(['status'=>1,'msg'=>'驗(yàn)證碼正確']);
  30. }else{
  31. echo json_encode(['status'=>0,'msg'=>'驗(yàn)證碼不正確']);
  32. }
  33. break;
  34. // 退出登錄
  35. case 'logout':
  36. // 清空session變量
  37. session_unset();
  38. // 刪除session文件
  39. session_destroy();
  40. header("Location: index.php");
  41. break;
  42. default:
  43. exit('非法操作');
  44. }
批改老師:滅絕師太滅絕師太

批改狀態(tài):合格

老師批語:
本博文版權(quán)歸博主所有,轉(zhuǎn)載請注明地址!如有侵權(quán)、違法,請聯(lián)系admin@php.cn舉報(bào)處理!
全部評論 文明上網(wǎng)理性發(fā)言,請遵守新聞評論服務(wù)協(xié)議
0條評論
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號 技術(shù)交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)