【问题标题】:Javascript - storing simple higscore on serverJavascript - 在服务器上存储简单的 higscore
【发布时间】:2017-10-10 01:18:03
【问题描述】:

所以我有一个简单的 JS 游戏,我在其中更新了我的变量分数。 我想对 gameOver 状态做的是将分数与保存在服务器上的分数进行比较,如果更高,则覆盖并显示它,如果更低,则显示保存在服务器上的当前高分。 我相信它不必存储在数据库中,也许在一些 php 变量中,但我不知道是否可以通过 JS 更新变量。 它只需要做这件事,没有安全或任何东西。 任何人都可以帮忙吗?谢谢!

【问题讨论】:

  • 要在 JS 中与服务器传输数据,请使用AJAX
  • 将最高分存储在变量中并不是最好的主意。每当您重新启动服务器时,都会重置最高分。将其存储在数据库或 json 文件中
  • “它只需要做这件事,没有安全性或其他任何东西。” 那么重点是什么?在任何时候,最没有天赋的剧本小子都可以用他们想要的任何东西来覆盖高分。
  • 这只是一个学校项目,所以没有人会覆盖它。 @EmilS.Jørgensen,所以我可以使用 Ajax 获取数据,但是如果高分更高并且需要推送到服务器,如何写入文件并更新?
  • @Darxor 这取决于服务器端代码。 file_put_contents可以保存数据,file_get_contents可以读取。

标签: javascript php html css server


【解决方案1】:
  1. 您的 JS 是客户端的,它在服务器端没有任何改变。
  2. 使用 AJAX 将分数传递到您的服务器。
  3. 您的服务器端代码将进行比较并返回结果。
  4. 客户端的 JS 代码将按您的预期显示。

您已经编写了游戏,所以我假设您已经知道如何在 JS 中执行 AJAX。 在您的服务器上是的,您可以使用 PHP 在文件中写入最高分。

<?php
$hc = file_get_contents('YOUR_FILE_PATH');
if ( intval( $hc ) > intval( $_GET['hc'] ) ) {
    echo $hc;
} else {
    file_put_contents( $_GET['hc'], 'YOUR_FILE_PATH' );
    echo 'Congrats, your score is the highest!';
}

【讨论】:

    猜你喜欢
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多