PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(四)
五、 用戶登錄(login.php)
在開始的時(shí)候,我們說過游戲的入口是index.php文件;我們已經(jīng)安裝好了,自然轉(zhuǎn)向登錄流程,開始看。
前面照例是一段我們前進(jìn)介紹過的代碼,我們就不再詳細(xì)講了;不同的是使用的語言文件是login.mo,還有一個(gè)LOGIN的常量。如下
define('INSIDE' , true); define('INSTALL' , false); define('LOGIN' , true); $InLogin = true; $xnova_root_path = './'; include($xnova_root_path . 'extension.inc'); include($xnova_root_path . 'common.' . $phpEx); includeLang('login');
接下來又是我們前面講過的結(jié)構(gòu),我們看初次進(jìn)入的分支是下面代碼:
$parse = $lang; $Count = doquery('SELECT COUNT(*) as `players` FROM {{table}} WHERE 1', 'users', true); $LastPlayer = doquery('SELECT `username` FROM {{table}} ORDER BY `register_time` DESC', 'users', true); $parse['last_user'] = $LastPlayer['username']; $PlayersOnline = doquery("SELECT COUNT(DISTINCT(id)) as `onlinenow` FROM {{table}} WHERE `onlinetime` > '" . (time()-900) ."';", 'users', true); $parse['online_users'] = $PlayersOnline['onlinenow']; $parse['users_amount'] = $Count['players']; $parse['servername'] = $game_config['game_name']; $parse['forum_url'] = $game_config['forum_url']; $parse['PasswordLost'] = $lang['PasswordLost']; $page = parsetemplate(gettemplate('login_body'), $parse); // Test pour prendre le nombre total de joueur et le nombre de joueurs connect閟 if ($_GET['ucount'] == 1) { $page = $PlayersOnline['onlinenow']."/".$Count['players']; die ( $page ); } else { display($page, $lang['Login']); }
主要是取得注冊(cè)用戶數(shù)、最后注冊(cè)用戶、當(dāng)前在線數(shù);并顯示登陸歡迎頁面,包括前面取得的這些用戶數(shù)據(jù)。
好了,現(xiàn)在用戶可以選擇注冊(cè)并轉(zhuǎn)向前面章節(jié)流程,或者是輸入用戶名和密碼轉(zhuǎn)入登錄流程。
1. 先根據(jù)輸入的用戶,從數(shù)據(jù)庫取得此用戶的記錄
2. 如果有記錄,則使用md5判斷用戶的密碼是否正確
3. 如果密碼正確,則看用戶是否選擇了記住密碼功能,后面用到
4. include數(shù)據(jù)庫配置文件config
5. Setcookie,里面有用戶名、密碼等
6. 重定向到frames.php文件
其中前面的幾個(gè)判斷是否的話,就要出現(xiàn)一些錯(cuò)誤提示信息,并結(jié)束登錄過程,使用的是message()函數(shù)提示,前面也講過。
- PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十四)
- PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十三)
- PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十二)
- PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十一)
- PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十)
- PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(五)
- PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(三)
- PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(二)
- PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(一)
- PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十五)
相關(guān)文章
PHP中使用memcache存儲(chǔ)session的三種配置方法
下面簡單說下PHP項(xiàng)目分布式部署中,SESSION的同步方案中的一種,使用Memcache來存儲(chǔ)SESSION。并總結(jié)了三種配置方式,需要的朋友可以參考下2014-04-04php中用加號(hào)與用array_merge合并數(shù)組的區(qū)別深入分析
本篇文章是對(duì)php中用加號(hào)與用array_merge合并數(shù)組的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06ThinkPHP模板循環(huán)輸出Volist標(biāo)簽用法實(shí)例詳解
這篇文章主要介紹了ThinkPHP模板循環(huán)輸出Volist標(biāo)簽用法,結(jié)合實(shí)例形式詳細(xì)分析了Volist標(biāo)簽的功能,使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-03-03thinkPHP框架實(shí)現(xiàn)的短信接口驗(yàn)證碼功能示例
這篇文章主要介紹了thinkPHP框架實(shí)現(xiàn)的短信接口驗(yàn)證碼功能,涉及基于thinkPHP的ajax提交、隨機(jī)數(shù)生成、短信接口調(diào)用、cookie操作等相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-06-06ThinkPHP中SHOW_RUN_TIME不能正常顯示運(yùn)行時(shí)間的解決方法
這篇文章主要介紹了ThinkPHP中SHOW_RUN_TIME不能正常顯示運(yùn)行時(shí)間的解決方法,針對(duì)ThinkPHP配置文件config.php設(shè)置SHOW_RUN_TIME后不能顯示運(yùn)行時(shí)間情況下的解決方法,涉及針對(duì)ThinkPHP底層源文件的修改,需要的朋友可以參考下2015-10-10