首页 > 解决方案 > 在 php 中获取 javascript 变量值时出错

问题描述

有一个数字变量(下面的变量名称分数)是一个 javascript 变量。我有一个 php 代码,其中使用了 javascript 块。现在我要做的是:我想将 score 变量的实际值放入我的 php 代码中,然后通过 php 代码将其保存到 DB 中。我已经尝试过下面的代码来做到这一点。但是我没有看到任何值进入 php 中声明的 $score 变量,我只是在网页中看到了一些错误。在代码下方有一个解释错误消息的屏幕截图。

function check() {
                    var score = 0;
                    var wrong_answers="";
                    for(count = 0; count < 2; count++){
                        var e = document.getElementById(count + 1);
                        var answer_selected = e.options[e.selectedIndex].value;
                        if(e.selectedIndex === parseInt(allAnswer[count])){
                          score = score + 1;  
                        }
                        else{
                            wrong_answers = wrong_answers +" "+ (count+1).toString();
                        }
                    }
                     
                  <?php
                    $score = "<script>document.write(score)</script>";
                    $query4 = "UPDATE USER_RESULT SET SCORE = '$score' WHERE START_TIME = 
                              '$startTime'";
                    $query_run4 = mysqli_query($conn,$query4);
                    ?>
                }

在此处输入图像描述

标签: javascriptphphtml

解决方案


我建议你使用 AJAX 来运行它。(需要 JQuery)

脚本.js:

function RunPHP() {
    $.ajax({
        async: false,
        type: 'GET',
        url: 'PHP.php'
    });
}

function check() {
                    var score = 0;
                    var wrong_answers="";
                    for(count = 0; count < 2; count++){
                        var e = document.getElementById(count + 1);
                        var answer_selected = e.options[e.selectedIndex].value;
                        if(e.selectedIndex === parseInt(allAnswer[count])){
                          score = score + 1;  
                        }
                        else{
                            wrong_answers = wrong_answers +" "+ (count+1).toString();
                        }
                    }
                     
                }

PHP.php:

  <?php
    $score = "<script>document.write(score)</script>";
    $query4 = "UPDATE USER_RESULT SET SCORE = '$score' WHERE START_TIME = 
              '$startTime'";
    $query_run4 = mysqli_query($conn,$query4);
    echo $query_run4;
  ?>

推荐阅读