gpt4 book ai didi

php - Javascript X/Y 坐标到数据库?

转载 作者:行者123 更新时间:2023-11-29 00:52:31 25 4
gpt4 key购买 nike

这个问题我已经问了很多次了,所以我试着把它弄清楚。

我有一个 HTML 页面,页面上有一个攻击和重启链接,重启链接会在您获胜后出现。

这些链接是 JavaScript:

<script type="text/javascript">
<!--

function attack() {
window.location = "attack.php?attack=1";
}


function restart() {
window.location = "battle.php?id=1&status=start";
}

-->
</script>

我想做到这一点,一旦用户点击其中一个链接(使用 javascript),它就会获取点击链接位置的 X/Y 坐标,并使用以下值将其插入数据库:

id
ip
username
x
y
restart

对于 id、ip、用户名和重启,我可以轻松地使用 MYSQL 和 PHP,但我不知道如何将 Javascript 信息插入数据库,这将是 X/Y 坐标。

最佳答案

使用 Insterstellar_coder 的 X/Y javascript 片段,您可以使用 javascript 对 php 脚本进行 ajax 调用。 ajax 调用将包含所有参数作为参数,服务器上的 php 脚本可以获得这些参数并进行数据库插入。

版本 (20111016211256-0400):添加文件以显示解决方案(据我正确理解问题):

我只研究了攻击部分。重启部分类似。

不需要 AJAX 部分,因为我利用了您的攻击并重新启动了 php 文件。


index.html:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>index</title>
<script type="text/javascript" charset="utf-8">

// get continous mouse move events and keep the coordinates in tempX and tempY
// stolen from http://javascript.internet.com/page-details/mouse-coordinates.html
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;
function getMouseXY(e) {
if (IE) { // grab the x-y pos.s if browser is IE
tempX = event.clientX + document.body.scrollLeft;
tempY = event.clientY + document.body.scrollTop;
}
else { // grab the x-y pos.s if browser is NS
tempX = e.pageX;
tempY = e.pageY;
}
if (tempX < 0){tempX = 0;}
if (tempY < 0){tempY = 0;}
return true;
}



var ip = "10.0.0.1";
var username = "me";
var id = "1";

function Coordinates(x,y) {
this.x = x;
this.y = y;
}

function attack(e) {
window.location = "attack.php?attack=1&x="+tempX+"&y="+tempY+"&ip="+ip+"&username="+username+"&id="+id;
}


function restart() {
window.location = "battle.php?id=1&status=start";
}
</script>
</head>
<body id="index" onload="">
<input type="button" name="attack" value="attack" id="attack" onClick="attack();">
<input type="button" name="restart" value="restart" id="restart" onClick="restart();">

</body>

</html>

攻击.php

<?php

$METHOD = '_' . $_SERVER['REQUEST_METHOD'];
foreach ($$METHOD as $key => $value) {
$$key = $value;
}

$log = array("attack" => $attack, "x" => $x, "y" => $y, "ip" => $ip, "username" => $username, "id" => $id);
//print_r($log);

try {
// assuming you use mongodb locally
$m = new Mongo();
$db = $m->mydb;
$logs = $db->logs;
$logs->insert($log, true);
} catch (Exception $e) {
echo $e;
}

?>

关于php - Javascript X/Y 坐标到数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7779181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com