用javascript提交php变量(链接?)

时间:2009-04-05 23:28:40

标签: php ajax

我正在创建一个基于浏览器的游戏,目前我正在设计一个脚本,当他/她点击地图的不同部分时,会更新我的角色的位置。

我正在使用一些ajax来执行此操作,将请求发送到名为position_update.php的php文件。但为了它的工作,我需要发送两个值,所以它知道新的位置是什么,我该怎么做?下面是我将请求发送到php文件的链接。

<a onClick="positionUpdate();"><img src="images/transparent.gif" border="0" /></a>

作为一个注释,我正在使用php $ _GET超级全局来检索它们发送时的值。

谢谢Stanni

3 个答案:

答案 0 :(得分:5)

您需要点击网址:

position_update.php?var1=val1&var2=val2

PHP会将get字符串解析为$ _GET

答案 1 :(得分:1)

顺便说一句,你应该确保通过使用适用于非js用户的等效href值来优雅地降级。

答案 2 :(得分:0)

如果您需要对URL字符串进行编码,请使用javascript函数 encodeURL()

sUrl = encodeURL("position_update.php?dir="+sDir+"&dist="+sDist);

请记住,在客户端 - 服务器架构中,不要在客户端中放置过多的隐式信任。处理游戏机制和规则实施的所有应用程序逻辑都应该包含在服务器端组件中。

几年前,有一款名为TetriNET(多人在线俄罗斯方块)的游戏非常受欢迎,其设计没有出于安全考虑。我花了大约3天的时间来破解通信协议,并基本上使用服务器命令来创建/清除块来吸引其他玩家的屏幕。只使用一个简单的代理就可以轻松做出作弊行为。

所以不要让客户端'告诉'服务器玩家所在的位置。仅使用客户端显示界面,收集输入和显示输出。所以让客户告诉服务器玩家'想要'移动(方向,距离等),然后让服务器计算玩家的位置法律允许玩家在以前的位置做出什么动作。