Javascript 游戏信息到 PHP

标签 javascript php jquery

因此,在玩家输掉比赛后,我希望使用 PHP 将他们的分数更新到数据库中。 我有一个单独的 javascript 类,它实际上运行整个游戏,但它使用 setInterval 来检查 index.php 函数来检查玩家是否输了;如果他们这样做,我希望它更新数据库。更新有效,但它没有获取分数,只是用 0 替换他们拥有的任何高分..显然不是我想要的。我知道人们会推荐 AJAX,但我的教授只想要 PHP 和 Javascript,所以我在这里真的很困惑......这是 index.php 中的函数

<script type="text/javascript">
            function checkFinished(){
                if(end()){
                    <?php
                        if(isset($_SESSION["id"])){
                            $id = $_SESSION["id"];

                            $userName = $id["name"];
                            $update = "UPDATE bloodred SET score='?>score<?php' WHERE name='$userName'";
                            $update = $dbh->prepare($update);
                            $update->execute();
                        }
                    ?>
                    gameover = false;
                }
            }
</script>

如你所见,我试图通过在 $update 变量中执行此操作来获取 javascript 变量分数

score='?>score<?php'

有谁知道有什么快速的捷径可以做到这一点吗?谢谢!

最佳答案

Javascript是客户端,PHP是服务器端。当您从 JavaScript 中删除 PHP 时,您最终会得到以下结果:

<script type="text/javascript">
            function checkFinished(){
                if(end()){
                    score
                    gameover = false;
                }
            }
</script>

如果您想使用 JavaScript 变量的内容更新数据库,则需要向服务器发出新请求。这可以是重定向、AJAX、套接字等。但是将 PHP 放入 javascript 中并期望它像这样执行是行不通的。

顺便说一句,这会以相反的方式工作,因为 PHP 首先执行。这对您的问题没有帮助,但可能有助于澄清为什么您的代码不起作用:

这会起作用:

<script>
alert("<?php echo $variable; ?>");
</script>

关于Javascript 游戏信息到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23025983/

相关文章:

javascript - 如何检查 DiscordJS V13 中是否有人在语音 channel 中?

javascript - 使用特定的 ajax 调用设置集合获取

javascript - JQuery 添加到 <class>

php - 在 HTML 中显示特殊字符

javascript - 无法开始工作 MagicSuggest.js

jquery - Magicline 边框动画 - 从事件类开始动画

c# - 如何使用一些变量参数从 javascript 函数调用 asp.net C# 函数并从 C# 函数获取字符串返回?

php - PHP 文件 : Display the content of a file in a webpage 中的 Shell 命令

php - SQL - 如果不存在则插入,否则更新

javascript - Jquery:过滤按键输入