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

搜索
博主信息
博文 38
粉絲 0
評論 0
訪問量 30862
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
用戶注銷-表單驗證及heredoc, nowdoc用法
一個好人
原創(chuàng)
693人瀏覽過

用戶注銷:

首先在主頁表頭添加點擊事件,logout方法

  1. async function logout(){
  2. if (confirm('是否退出')) {
  3. // const url = './lib/userHandle.php?action=logout';
  4. const url = './lib/user/logout.php';
  5. const response = await fetch(url);
  6. const result = await response.json();
  7. if(result){
  8. alert('退出成功');
  9. location.href='index.php';
  10. }else{
  11. alert('退出失敗');
  12. location.href='login.php';
  13. }
  14. }
  15. }

在logout文件中銷毀session

  1. session_start();
  2. $flag = false;
  3. if(session_destroy()){
  4. $flag = true;
  5. }
  6. echo json_decode($flag);

表單驗證

表單驗證主要有獲取數(shù)據(jù),非空驗證,兩次密碼相同驗證,插入數(shù)據(jù)等幾步,可分別用函數(shù)驗證;數(shù)據(jù)插入部分尚未完成;

  1. function addUser(btn){
  2. const user = getInput(btn.form)
  3. alert(JSON.stringify(user));
  4. if(isEmpty(user)){
  5. if(isPswEqu(user)){
  6. const data = createData(user)
  7. insertUser(data);
  8. }
  9. }
  10. }
  11. const getInput = (form) =>{
  12. return {
  13. uname:{
  14. ele:form.uname,
  15. value:form.uname.value.trim()
  16. }, email:{
  17. ele:form.email,
  18. value:form.email.value.trim()
  19. },psw1:{
  20. ele:form.psw1,
  21. value:form.psw1.value.trim()
  22. },psw2:{
  23. ele:form.psw2,
  24. value:form.psw2.value.trim()
  25. }
  26. }
  27. }
  28. const isEmpty=(user)=>{
  29. switch(true){
  30. case user.uname.value.length ==0:
  31. alert('用戶名不能為空');
  32. user.uname.ele.focus();
  33. return false;
  34. case user.email.value.length ==0:
  35. alert('郵箱不能為空');
  36. user.email.ele.focus();
  37. return false;
  38. case user.psw1.value.length ==0:
  39. alert('用戶名不能為空');
  40. user.psw1.ele.focus();
  41. return false;
  42. case user.psw2.value.length ==0:
  43. alert('用戶名不能為空');
  44. user.psw2.ele.focus();
  45. return false;
  46. default:
  47. return true;
  48. }
  49. const isPswEqu = (user)=>{
  50. if(user.psw1.value !== user.psw2.value){
  51. alert('兩次密碼輸入不一致');
  52. user.psw1.ele.focus();
  53. return false;
  54. }else{
  55. return true;
  56. }
  57. }
  58. }
  59. const createData = ()=>{
  60. return{
  61. uname:user.uname.value,
  62. email:user.email.value,
  63. password:user.psw1.value,
  64. }
  65. }
  66. async function insertUser(data){
  67. const response = await fetch('./lib/userHandle.php?action=register', {
  68. method:'POST',
  69. headers:{
  70. 'content-type':'application/json;charset=utf-8'
  71. },
  72. body:JSON.stringify(data)
  73. });
  74. const result =response.json();
  75. if(result){
  76. alert('注冊成功');
  77. location.href = 'index.php'
  78. }else{
  79. alert('注冊失敗');
  80. location.href='register.php';
  81. btn.form.uname.focus();
  82. }
  83. }

heredoc/nowdoc:

多行字符串,heredoc格式<<<ABC aaa ABC;可轉(zhuǎn)譯換行符\n等;nowdoc格式<<<ABC ‘a(chǎn)aa’ ABC;不轉(zhuǎn)譯;

  1. if(!in_array($action, $allowOpts)){
  2. echo <<<ABC
  3. <script>
  4. alert('非法訪問‘);
  5. location.href='/../login.php';
  6. </script>
  7. ABC;
  8. }
  9. // ''不能轉(zhuǎn)譯,""可以轉(zhuǎn)譯換行符\n等
  10. // 定界符heredoc,解析變量
  11. $str = <<<POEM
  12. // 定界符nowdoc,不解析變量
  13. <<< 'POEM'
  14. POEM;

總結(jié):

建議大家userHandle還沒寫好,最好不要把路徑變過去,如果調(diào)試到半路停下了,登錄、注銷也用不了了!

批改老師:PHPzPHPz

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

老師批語:
本博文版權(quán)歸博主所有,轉(zhuǎn)載請注明地址!如有侵權(quán)、違法,請聯(lián)系admin@php.cn舉報處理!
全部評論 文明上網(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+教程免費學(xué)