PHP網頁遊戲學習之Xnova(ogame)源碼解讀(四)_php執行個體

來源:互聯網
上載者:User

五、 使用者登入(login.php)

在開始的時候,我們說過遊戲的入口是index.php檔案;我們已經安裝好了,自然轉向登入流程,開始看。

前面照例是一段我們前進介紹過的代碼,我們就不再詳細講了;不同的是使用的語言檔案是login.mo,還有一個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'); 


接下來又是我們前面講過的結構,我們看初次進入的分支是下面代碼:

$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']);} 

主要是取得註冊使用者數、最後註冊使用者、當前線上數;並顯示登陸歡迎頁面,包括前面取得的這些使用者資料。
好了,現在使用者可以選擇註冊並轉向前面章節流程,或者是輸入使用者名稱和密碼轉入登入流程。

1. 先根據輸入的使用者,從資料庫取得此使用者的記錄
2. 如果有記錄,則使用md5判斷使用者的密碼是否正確
3. 如果密碼正確,則看使用者是否選擇了記住密碼功能,後面用到
4. include資料庫設定檔config
5. Setcookie,裡面有使用者名稱、密碼等
6. 重新導向到frames.php檔案

其中前面的幾個判斷是否的話,就要出現一些錯誤提示資訊,並結束登入過程,使用的是message()函數提示,前面也講過。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.