如何在同一页面上从Javascript到PHP获取价值?

如何在同一页面上从Javascript到PHP获取价值?,javascript,php,Javascript,Php,这是从JS到PHP获取数据的当前代码: JavaScript: window.location.href="samepage.php?points=" + data[picked].question; <?php if (isset($_GET["points"])){ //do stuff to store the points into MySQL table $value = $_GE

这是从JS到PHP获取数据的当前代码:

JavaScript:

window.location.href="samepage.php?points=" + data[picked].question;
<?php
    if (isset($_GET["points"])){
        //do stuff to store the points into MySQL table
        
        $value = $_GET['points'];
        echo $value;
    }
?>
$(document).ready(function(){
                        var url = window.location.href;
                        var params = url.split('?points=');
                        var id = data[picked].question;
                        $("#submit").click(function(){ $.ajax({
                            type:"POST",
                            url:"samepage.php",
                            data:{id:id},
                            success:function(result){
                                $("#content").html(result);
                                $("#submit").hide();
                            }
                        });
                        });
                    });
if( isset($_POST["points"]) )
    {
        $random = $_POST["points"];
        echo $random;
    }
PHP-GET:

window.location.href="samepage.php?points=" + data[picked].question;
<?php
    if (isset($_GET["points"])){
        //do stuff to store the points into MySQL table
        
        $value = $_GET['points'];
        echo $value;
    }
?>
$(document).ready(function(){
                        var url = window.location.href;
                        var params = url.split('?points=');
                        var id = data[picked].question;
                        $("#submit").click(function(){ $.ajax({
                            type:"POST",
                            url:"samepage.php",
                            data:{id:id},
                            success:function(result){
                                $("#content").html(result);
                                $("#submit").hide();
                            }
                        });
                        });
                    });
if( isset($_POST["points"]) )
    {
        $random = $_POST["points"];
        echo $random;
    }
PHP帖子:

window.location.href="samepage.php?points=" + data[picked].question;
<?php
    if (isset($_GET["points"])){
        //do stuff to store the points into MySQL table
        
        $value = $_GET['points'];
        echo $value;
    }
?>
$(document).ready(function(){
                        var url = window.location.href;
                        var params = url.split('?points=');
                        var id = data[picked].question;
                        $("#submit").click(function(){ $.ajax({
                            type:"POST",
                            url:"samepage.php",
                            data:{id:id},
                            success:function(result){
                                $("#content").html(result);
                                $("#submit").hide();
                            }
                        });
                        });
                    });
if( isset($_POST["points"]) )
    {
        $random = $_POST["points"];
        echo $random;
    }
我做错了什么?我如何解决这个问题

如果不使用GET,用户就无法操纵该值,我如何做到这一点

如果该值是从客户端发送的,则无法阻止用户对其进行操作

目前还不完全清楚最终目标是什么,但看起来您需要大致按照以下几点:

  • 生成表示用户的标识符(例如会话)
  • 将用户所做的选择发送到服务器,而不是这些选择的价值点
  • 在服务器端计算这些选择的值
  • 将结果存储在会话中
  • 如果不使用GET,用户就无法操纵该值,我如何做到这一点

    如果该值是从客户端发送的,则无法阻止用户对其进行操作

    目前还不完全清楚最终目标是什么,但看起来您需要大致按照以下几点:

  • 生成表示用户的标识符(例如会话)
  • 将用户所做的选择发送到服务器,而不是这些选择的价值点
  • 在服务器端计算这些选择的值
  • 将结果存储在会话中

  • 您确实意识到,当您使用POST或AJAX时,用户也可以篡改数据:)您永远不应该信任客户机,即使您知道输入来自受信任的用户。我们不知道如何通过JavaScript确定用户应该获得多少分数。JavaScript不应该决定这一点,而应该是PHP。@DefinitelynotRafal这些分数是由命运之轮决定的。你建议我怎么做?:)我们需要更多的信息。让我们假设你有一个JavaScript动画,让你做命运之轮。一旦用户单击开始按钮(或其他任何按钮),就可以使用AJAX询问PHP服务器用户应该获得多少积分。在AJAX请求过程中,你让命运之轮转动,直到你得到一个答案。PHP完成后,只需添加点,就可以知道应该回答客户机AJAX请求的点数。一旦客户端收到它应该添加的点数,您就停止动画并显示正确的点数。@DefinitelynotRafal我可以在PHP中创建数组并在JS中显示它,如下所示:
    var data=。但是仍然不确定如何使用PHP获取值。您确实意识到,当您使用POST或AJAX时,用户也可以篡改数据:)您永远不应该信任客户端,即使您知道输入来自受信任的用户。我们不知道如何通过JavaScript确定用户应该获得多少分数。JavaScript不应该决定这一点,而应该是PHP。@DefinitelynotRafal这些分数是由命运之轮决定的。你建议我怎么做?:)我们需要更多的信息。让我们假设你有一个JavaScript动画,让你做命运之轮。一旦用户单击开始按钮(或其他任何按钮),就可以使用AJAX询问PHP服务器用户应该获得多少积分。在AJAX请求过程中,你让命运之轮转动,直到你得到一个答案。PHP完成后,只需添加点,就可以知道应该回答客户机AJAX请求的点数。一旦客户端收到它应该添加的点数,您就停止动画并显示正确的点数。@DefinitelynotRafal我可以在PHP中创建数组并在JS中显示它,如下所示:
    var data=。但仍然不确定如何使用PHP获取值。