2010年07月26日
by 江小邪
0 comments
PHP实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法
我用一个留言本程序作为例子,阐述PHP实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法。
此文本数据库共有字段10个:客户IP、发言时间、客户名、客户EMAIL、客户主页地址、留言表情图片名、客户QQ、客户形象图片、留言内容、管理员回复内容。
1、加入数据程序段。
$date=date(“Y-m-d H:i:s”);//取得系统时间
$ip = $HTTP_SERVER_VARS[REMOTE_ADDR]; //取得发言的IP地址
$text=encode($gb_text);//去掉留言内容后面的空格.
$fp=fopen(“gb.dat”,”a”);//以只写模式打开gb.dat文本文件,文件指针指向文件尾部.
$str=$ip.” ”.$date.” ”.$gb_name.” ”.$gb_email.” ”.$gb_home.” ”.$face.” ”.$gb_qq.” ”.$head.” ”.$text.” ”.$reply.”\n”;//将所有留言的数据赋予变量$str,” ”的目的是用来今后作数据分割时的数据间隔符号。
fwrite($fp,$str);//将数据写入文件
fclose($fp);//关闭文件
showmessage(“留言成功!”,”index.php”,”3″);//留言成功,3秒后自动返回主界面。
其中的$gb_name 、$gb_email、$gb_home、$face、$gb_qq、$head、$gb_text、$reply是由发言表单传过来的数据。
(更多…)
标签Tags:
code,
PHP,
PHP,
server,
判断,
图片,
成功,
搜索,
数据,
数据库,
方法,
程序,
类,
系统,
网络编程,
获取,
表单,
诫,
连接,
页面
PHP, 网络编程
2010年07月26日
by 江小邪
0 comments
在指南的开始,我们说过数据过滤在任何语言、任何平台上都是WEB应用安全的基石。这包含检验输入到应用的数据以及从应用输出的数据,而一个好的软件设计可以帮助开发人员做到:
确保数据过滤无法被绕过,确保不合法的信息不会影响合法的信息,并且识别数据的来源。
关于如何确保数据过滤无法被绕过有各种各样的观点,而其中的两种观点比其他更加通用并可提供更高级别的保障。
(更多…)
标签Tags:
html,
include,
mod,
PHP,
PHP,
PHP安全,
url,
web,
人,
代码,
判断,
数据,
方法,
程序,
类,
网络编程,
表单,
设计,
诫,
软件,
邮件,
重定向,
错误,
验证
PHP, 网络编程
2010年05月23日
by 江小邪
0 comments
1、什么是Rsync
Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
(更多…)
标签Tags:
ie,
include,
mod,
path,
server,
web,
代码,
判断,
失败,
实例,
密码,
属性,
工具,
搜索,
数据,
方法,
更新,
服务器构建&安全,
源代码,
版本,
程序,
类,
系统,
网站,
表,
说明,
连接,
链接,
错误,
镜像,
隐藏
服务器构建&安全
2010年05月23日
by 江小邪
1 comment
正则表达式匹配,其中:
* ~ 为区分大小写匹配
* ~* 为不区分大小写匹配
* !~和!~*分别为区分大小写不匹配及不区分大小写不匹配
文件及目录匹配,其中:
* -f和!-f用来判断是否存在文件
* -d和!-d用来判断是否存在目录
* -e和!-e用来判断是否存在文件或目录
* -x和!-x用来判断文件是否可执行
flag标记有:
* last 相当于Apache里的[L]标记,表示完成rewrite
* break 终止匹配, 不再匹配后面的规则
* redirect 返回302临时重定向 地址栏会显示跳转后的地址
* permanent 返回301永久重定向 地址栏会显示跳转后的地址
一些可用的全局变量有,可以用做条件判断(待补全) (更多…)
标签Tags:
301,
access,
cookie,
css,
domain,
html,
ie,
include,
js,
PHP,
seo,
server,
sql,
swf,
web,
判断,
图片,
密码,
服务器构建&安全,
正则表达式,
浏览器,
网站,
自定义,
表,
重定向,
链接,
错误,
页面
服务器构建&安全
2010年05月23日
by 江小邪
0 comments
user-agent 收集:
http://www.developershome.com/wap/detection/detection.asp?page=userAgentHeader
http://search.cpan.org/~cmanley/Mobile-UserAgent-1.05/lib/Mobile/UserAgent.pm
http://www.zytrax.com/tech/web/mobile_ids.html
http://en.wikipedia.org/wiki/List_of_user_agents_for_mobile_phones
nginx
location = / {
root /var/www/path;
if ($http_user_agent ~* “Nokia”) { rewrite . /index.html break; }
if ($http_user_agent ~* “Mobile”) { rewrite . /index.html break; }
if ($http_user_agent ~* “SAMSUNG”) { rewrite . /index.html break; } }
if ($http_user_agent ~* “SonyEricsson”) { rewrite . /index.html break; }
if ($http_user_agent ~* “MOT”) { rewrite . /index.html break; } }
if ($http_user_agent ~* “BlackBerry”) { rewrite . /index.html break; }
if ($http_user_agent ~* “LG”) { rewrite . /index.html break; } }
if ($http_user_agent ~* “HTC”) { rewrite . /index.html break; }
if ($http_user_agent ~* “J2ME”) { rewrite . /index.html break; }
if ($http_user_agent ~* “Opera Mini”) { rewrite . /index.html break; } }
index index.html;
}
标签Tags:
ASP,
css,
html,
path,
wap,
web,
判断,
网站建设
网站建设
2008年10月17日
by 江小邪
0 comments
我始终认为,在 MMORPG 里采用多边形碰撞检测是件很傻的事情。当然傻不是坏事,基于多边形碰撞检测,一帧检查一次的这种做法,实现起来非常简单。很符合 kiss 原则。我们只需要一点点数学知识和一点点编程技能就能做出来了。反正 client 上,也就检查一个主角。加上可以使用简化的碰撞模型,进一步的减少运算量。
但是放在服务器上,这个运算量可不小。所以这几天我寻思着找个更好的方法出来。
(更多…)
标签Tags:
ie,
代码,
判断,
数据,
方法,
游戏,
游戏开发,
编程
游戏开发
2008年10月17日
by 江小邪
0 comments
MMO 的 engine 中,需要解决的最重要的问题之一,就是如何把游戏世界中的状态改变消息正确的通知给需要知道这条信息的玩家。
通常,我们会设定每个玩家的 AOI ( Area Of Interest )。当一个对象发生改变时,它会把消息广播出去;那些 AOI 覆盖到它的玩家会收到这些广播消息。
但是,在我们现在的游戏系统中,简单的 AOI 系统是不够用的。比如,类似 wow 中的盗贼隐身,明明已经离你很近,但是你的 client 却看不见他。诚然,我们可以在 client 判断这个逻辑,对盗贼不于显示,而 engine 依然广播盗贼移动的消息。对于不作弊的 client ,这是个简单的解决方案。但在理论上却提供了看见隐身人的可能性,所以,我期望有更好的方法让 engine 可以只将消息广播到那些必须接收这些消息的 client 。但是,在实现这个同时,又不能让底层 engine 牵扯太多逻辑信息。 (更多…)
标签Tags:
ie,
人,
判断,
对象,
属性,
数据,
方法,
游戏,
游戏开发,
类,
系统,
解决
游戏开发
2008年10月17日
by 江小邪
0 comments
作为一个常识,每个程序员在做入门学习时,都会被老师谆谆教导:我们用的编程语言中的随机函数,只能产生出伪随机数。它有它的内在规律,只能作为对显示世界的随机事件的近似模拟。接下来,我们通常会被传授随机种子的概念。以及用物理上更随机的量做种子。比如系统时间、两次敲击键盘的时间间隔、多次移动鼠标的偏移、甚至系统出错的出错信息码等等。
作为游戏数值策划,除了加减乘除,用的最多的数学概念恐怕就是随机数了。有经验的数值策划或许从他的前辈那得知计算机中程序产生的随机数并不太可靠;或者他本身就受过程序方面的训练。如果游戏项目更幸运一点,担当数值策划的他是一个数学爱好者,并读过诸如《计算机程序设计艺术》这样的技术书籍,那么事情会好的多。可惜大多数境遇下,策划们从不深究计算机随机数背后的细节,也不太关心所谓“伪”随机数究竟“伪”到什么程度。 (更多…)
标签Tags:
人,
函数,
判断,
成功,
数据,
方法,
游戏,
游戏开发,
版本,
程序,
类,
系统,
编程,
表,
设计,
错误,
随机数,
鼠标
游戏开发
2008年10月17日
by 江小邪
0 comments
我曾在不同场合,多次向人表达我对游戏程序设计的一个重要观点:时间控制,对于游戏程序设计至关重要。
这是因为,大多数电子游戏,都是一个实时人机互动系统。在非人机互动的软件中,软件及硬件一起是一个封闭系统,时间参数对这个系统是否正确工作是无意义的量。这样的系统,我们尽量应该设计成自动化工作模式,只要有正确的输入,得到正确的输出即可。通常,这样的系统的开发,还应该有自动化测试的流程去驱动它。
但实时人机互动软件则不一样,我们得把人看成系统的一部分。人和机器的交互是通过人眼、人耳、键盘、鼠标等完成信息交换的。如果把人脑看成一个线程、计算机看成另一个线程,我们几乎没有能力实现一个资源锁,利用锁的方式保证系统工作永远正常。人脑在全速运转时,适时得不到正确的信息输入,整个系统就可认为出现了故障。
可见,在这样的系统中,时间控制显得多么的重要。 (更多…)
标签Tags:
人,
函数,
判断,
图片,
对象,
应用程序,
操作系统,
故障,
方法,
游戏,
游戏开发,
电影,
程序,
系统,
表,
设计,
软件,
鼠标
游戏开发
2008年10月17日
by 江小邪
0 comments
拿魔兽世界(后面全简写作 wow )举例说事,恐怕是唯一不容易遭人非议的了。我们注意到, wow 之前有很多网络游戏,甚至暴雪之前也有一款很接近现代网游的游戏—— diablo 的 battle net 版,都采用了一种让玩家展现个性化角色的设计。那就是随着升级,为角色自由分配属性点,再由属性点影响角色的能力。
我可以举出长长的例子证明这一点,甚至电脑 RPG 的鼻祖,D&D ,也是有自由加点的设定的。虽然 D&D 里玩家可以加的点很少,暴雪在 diablo 里加强了这个设计。
为什么在这么多已有的网游中,大家都沿袭了这个设定,把它作为提供玩家个性化的必要手段时,暴雪绝然抛弃了它,把个性化转移到了天赋系统中。是为了创新吗?我不是暴雪的游戏设计师,我没有答案。但我们知道,暴雪从来不是一个以创新为名的游戏制作公司。而天赋树从外观上看,就是 diablo 中技能树的延续。 (更多…)
标签Tags:
人,
函数,
判断,
属性,
工具,
方法,
游戏,
游戏开发,
系统,
表,
设计,
软件,
错误
游戏开发