PHP网页游戏学习之Xnova(ogame)源码解读(四)

五、 用户登录(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()函数提示,前面也讲过。相关阅读:

javascript圆盘抽奖程序实现原理和完整代码例子

java和c#使用hessian通信的方法

jQuery移动端图片上传组件

mvc下,3种窗口弹出设置的方法

oracle em 按钮乱码解决办法及em网页变成英文

Win10预览版怎么添加任务栏通知图标?

CSS编写时的高性能以及高维护性代码优化建议总结

下拉列表多级联动dropDownList示例代码

解析如何加快mysql编译的速度

深入解析Java的Servlet过滤器的原理及其应用

怎么关闭win10系统联机搜索

jQuery经过一段时间自动隐藏指定元素的方法

php使用timthumb生成缩略图的方法

PHP数组实例详解

php index 转入 login,PHP_PHP网页游戏学习之Xnova(ogame)源码解读(四),五、 用户登录(login.php) 在 - phpStudy...相关推荐

  1. 来自网页消息do.php意思,PHP网页游戏学习之Xnova(ogame)源码解读(五)

    六. 游戏主界面(frames.php) frames.php文件功能就是显示游戏主界面,先看下面的代码: 上面的代码主要是拼出服务器的URL,比较简单:前面的变量$InLogin暂时不讲,等我们专门 ...

  2. php网页游戏学习之xnova(ogame)源码解读,PHP网页游戏学习之Xnova(ogame)源码解读(十六)...

    PHP网页游戏学习之Xnova(ogame)源码解读(十六) 作者:bea 十九.攻击任务(MissionCaseAttack.php) 按照舰队任务的编号,排在第一个的就是攻击任务.这个代码很长,看 ...

  3. 网页游戏开发例子php,PHP网页游戏学习之Xnova(ogame)源码解读(八)

    这篇文章主要介绍了PHP网页游戏Xnova(ogame)源码解读的公共函数部分,需要的朋友可以参考下 十一.公共函数(functions.php) 本来打算写建筑页面的分析,但是建筑页面东西比较多,一 ...

  4. php网页游戏学习之xnova(ogame)源码解读,PHP网页游戏学习之Xnova(ogame)源码解读(六)...

    九.公共代码(common.php) Common.php是Xnova的公共代码,几乎每次点击都会被执行,所以这里要是优化的好,那么整个程序的效率都会有提升:当然这个文件调用的其他代码也要一并优化才行 ...

  5. php网页游戏学习之xnova(ogame)源码解读,PHP网页游戏学习之Xnova(ogame)源码解读(二)...

    三. 安装(install/index.php) 这个文件是安装页面,一开始就可以看到定义了两个常量: 因为这两个常量在接下来的代码中总是用到,所以在这里先说明下.INSIDE是用来防止攻击的:INS ...

  6. php网页游戏学习之xnova(ogame)源码解读,PHP网页游戏学习之Xnova(ogame)源码解读(十一)...

    十四.建筑页面(BatimentBuildingPage.php) 现在开始解析真正的建筑页面,里面用到的函数不少,不过都不难,我们一起来看. 一开始先检查星球的已使用空间并更新,使用函数CheckP ...

  7. [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略

    Cocos Cyberpunk 是 Cocos 引擎官方团队以展示引擎重度 3D 游戏制作能力,提升社区学习动力而推出的完整开源 TPS 3D游戏,支持 Web, IOS, Android 多端发布. ...

  8. [3D游戏开发实践] Cocos Cyberpunk 源码解读-一文搞定延迟渲染管线原理与实践

    Cocos Cyberpunk 是 Cocos 引擎官方团队以展示引擎重度 3D 游戏制作能力,提升社区学习动力而推出的完整开源 TPS 3D游戏,支持 Web, IOS, Android 多端发布. ...

  9. 【从线性回归到 卷积神经网络CNN 循环神经网络RNN Pytorch 学习笔记 目录整合 源码解读 B站刘二大人 绪论(0/10)】

    深度学习 Pytorch 学习笔记 目录整合 数学推导与源码详解 B站刘二大人 目录传送门: 线性模型 Linear-Model 数学原理分析以及源码详解 深度学习 Pytorch笔记 B站刘二大人( ...

  10. 使用HTML5制作的网页游戏-管道小鸟(附源码)

    目录 1.整体项目框架 2.css样式 3. 游戏初始化 4.游戏结束提示 5.效果图​ 1.整体项目框架 2.css样式 *{padding: 0px;margin: 0px;}#game{widt ...

最新文章

  1. OpenGL phong lighting冯氏光照的实例
  2. 1.4 torch_向量/矩阵求偏导
  3. 轻松监听Azure service health 状态
  4. 如何解决vuepress部署出现样式问题
  5. python基础学习1-列表使用
  6. 在控制台输出九九乘法表
  7. java gui 线程_如何在java中将消息从工作线程传递给GUI
  8. linux使用nc命令模拟客户端与服务器,测试连通性
  9. 神话系列之一 C# 开发的操作系统和数据库
  10. 后台代码之买票和查找核实航班的代码
  11. 简单干净的C#方法设计案例:SFCUI.AjaxValue()之一
  12. java -D參数简化增加多个jar【简化设置classpath】
  13. 机器学习基础算法21-多输出的决策树回归
  14. Dubbo不向zookeeper/nacos注册
  15. python3.8的用法_Python3.8对可迭代解包的改进及用法详解
  16. SpringBoot+JWT+SpringSecurity对api进行授权保护
  17. 如何在线将mov格式转换成mp4视频
  18. Docker网络之三:自定义容器虚拟IP
  19. redis基本命令和help使用
  20. 获取第二天凌晨12点时间

热门文章

  1. java enm_为什么JavaEnm文字不能具有泛型类型参数?
  2. SHT30通过blinker获取温湿度,小爱同学查询温湿度
  3. web前端开发前景和未来!
  4. 为什么Ripple的XRP无法作为桥梁资产
  5. echart柱状图背景色
  6. Python Web 框架-FLASK day01
  7. 卖买期货手续费多少?需要多少钱
  8. ps软件下载ps2024下载安装教程Photoshop (PS)下载安装ps2024安装包ps教程
  9. linux 尾队列,rtt+nimble揭秘系列——内存策略(4)
  10. 突然想到Lennon.