我只希望在事件发生时这些更新查询起作用。我面临的问题是,无论最后一个查询是什么,都会覆盖第一个查询,更糟糕的是,此更新查询甚至不会使用 if
语句进行更新。我试图改变很多事情。我做错了什么?
<?php
$logout_button="header(location:'logout.php')";
if ($logout_button){
$logged_out="offline";
$useronline_sql = mysql_query("UPDATE users SET status = '$logged_out' WHERE username='$username'");
}?>
<script type="text/javascript">
(function(){
var moved = false
window.onmousemove = function(e){
if(!moved){
moved = true;
<?php
$stat = mysql_query("UPDATE users SET status='online' WHERE email='$email'", $dbh2);
?>
}}})()
</script>
当请求您的页面时,所有PHP代码都会运行,HTML和javascript被发送到浏览器。因此,您的两个SQL查询都将被执行,浏览器将被发送以下内容:
<script type="text/javascript">
(function(){
var moved = false
window.onmousemove = function(e){
if(!moved){
moved = true;
}}})()
</script>
这不会做任何事情。您可能需要使用 ajax 将请求发送到运行第二个查询的另一个 PHP 页面。