国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

PHP設(shè)計(jì)聊天室步步通(一)

2024-05-04 23:06:11
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

聊天室可以采用完全自由的方式運(yùn)行,你可以隨意輸入呢稱,不用密碼,不保存你的聊天狀態(tài),優(yōu)點(diǎn)是:自由,非常適合于游客!另外一個(gè)方法是注冊(cè)聊天室,每個(gè)進(jìn)入聊天室的人都要輸入自己的用戶名和密碼才能進(jìn)入!優(yōu)點(diǎn):充分體現(xiàn)個(gè)性,非常適合于老朋友,他們的呢稱不會(huì)被人惡意侵占使用.我的聊天室使用注冊(cè)方法!

注冊(cè)通常采用2種方法:

1、先注冊(cè)然后進(jìn)入聊天

2、自動(dòng)注冊(cè)

然后在里面修改自己的資料!我采用第2種方法!!每個(gè)新進(jìn)入的聊友的用戶名會(huì)被自動(dòng)保存到注冊(cè)到數(shù)據(jù)庫(kù)內(nèi),下次登陸必須輸入準(zhǔn)確的密碼才能進(jìn)入!

下面是判斷部分!本程序使用文本數(shù)據(jù)庫(kù)!

  1. //$useronline為在線人的數(shù)據(jù)文件名稱  
  2. //$useronlinelock為在線人的鎖定標(biāo)志  
  3. //$register為已經(jīng)注冊(cè)的數(shù)據(jù)文件名稱  
  4. //$registerlock為注冊(cè)文件的鎖定標(biāo)志  
  5. //$split為分隔符  
  6. //登陸參數(shù) enter  
  7. if($action == "enter")  
  8. {  
  9. //當(dāng)前時(shí)間秒數(shù)  
  10. $timecurrent = date("U");  
  11.  
  12. //鎖定在線人數(shù)文件,防止同時(shí)修改同一個(gè)文件  
  13. whilefile_exists($useronlinelock))  
  14. {  
  15. if(!file_exists($useronlinelock))  
  16. {  
  17. break;  
  18. }  
  19. //創(chuàng)建臨時(shí)文件  
  20. fclose(fopen($useronlinelock,"w"));  
  21.  
  22. //讀入在線用戶和已經(jīng)注冊(cè)用戶的信息:密碼,昵稱,更新時(shí)間  
  23. $useronline = file($useronline);  
  24. $register = file($register);  
  25.  
  26. //用于判斷登陸是否成功的標(biāo)志  
  27. $namesign=0;  
  28.  
  29. //判斷用戶名,密碼的錯(cuò)誤,用戶名不允許為空,不允許超過(guò)10個(gè)字符,密碼不允許超過(guò)20個(gè)字符  
  30. if(($name =="") || (strlen($name) > 10) || (strlen($pass) > 20) )  
  31. {  
  32. PRint("沒(méi)有昵稱或密碼過(guò)長(zhǎng)");  
  33. //登陸失敗  
  34. $namesign=1;  
  35. //刪除臨時(shí)文件  
  36. unlink($useronlinelock);  
  37. }  
  38. else 
  39. {  
  40. //查找是否已經(jīng)有人注冊(cè)或者密碼錯(cuò)誤  
  41. $foundsign=0;  
  42. for($i=0;$icount($register);$i++)  
  43. {  
  44. //分割  
  45. $tempregister = split($split,$register[$i],99);  
  46. //找到已經(jīng)注冊(cè)的用戶名  
  47. if$name == $tempregister[0] )  
  48. {  
  49. //已經(jīng)找到標(biāo)志  
  50. $foundsign=1;  
  51. //密碼正確嗎  
  52. if($pass != $tempregister[1])  
  53. print("密碼錯(cuò)了!");  
  54. //登陸失敗  
  55. $namesign=1;  
  56. unlink($useronlinelock);  
  57. break;  
  58. }  
  59. else 
  60. {  
  61. //老用戶登陸成功  
  62. $namesign=0;  
  63. break;  
  64. }  
  65. }  
  66.  
  67. }  
  68.  
  69. //如果沒(méi)有找到這個(gè)用戶名,那么就自動(dòng)注冊(cè)  
  70. if(!$foundsign)  
  71. {  
  72. //保存用戶名和密碼  
  73. $handle = fopen($register,"a");  
  74. fputs($handle,"$name$split$pass$splitrn");  
  75. fclose($handle);  
  76. //新用戶登陸成功  
  77. $namesign=0;  
  78. }  
  79. }  
  80. }  
  81. if(!$namesign)  
  82. {  
  83. //更新在線人的名單  
  84. $useronlinehandle = fopen($useronline,"w");  
  85.  
  86. //判斷是否已經(jīng)在里面,只是刷新頁(yè)面  
  87. $updatesign = 0;  
  88. for($i=0;$icount($useronline);$i++)  
  89. {  
  90. $usertemp=split($split,chop($useronline[$i]),99);  
  91. if($name == $usertemp[0])  
  92. {  
  93. //更新標(biāo)志  
  94. $updatesign = 1;  
  95. fputs($useronlinehandle,$useronline[$i]);  
  96. }  
  97. else 
  98. {  
  99. fputs($useronlinehandle,$useronline[$i]);  
  100. }  
  101. }  
  102. //如果沒(méi)有在里面,則增加到里面  
  103. if(!$updatesign)  
  104. fputs($useronlinehandle,"$name$split$level$split$pass$split$timecurren 
  105. trn");  
  106. fclose($useronlinehandle);  
  107.  
  108. //去掉縮定  
  109. unlink($useronlinelock);  
  110.  
  111. //登陸成功  

到這里,用戶的驗(yàn)證已經(jīng)完成,聊友已經(jīng)合法的進(jìn)入了聊天室,攜帶者呢稱和密碼

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄骅市| 雷波县| 会同县| 新津县| 平利县| 托克逊县| 铁力市| 繁峙县| 雅江县| 赣榆县| 南溪县| 托克逊县| 赣榆县| 嘉定区| 大庆市| 铁岭市| 铁力市| 社会| 邮箱| 彝良县| 太谷县| 云南省| 苍南县| 高台县| 嵊泗县| 遂平县| 安新县| 谷城县| 手机| 巴青县| 独山县| 丰顺县| 黔西| 庐江县| 泰州市| 扬州市| 鱼台县| 孝昌县| 察隅县| 体育| 山西省|