PHP调用JS函数:数据精度损失

时间:2016-06-26 13:14:16

标签: javascript php

所以我正在使用Steam API(不应该与问题有关)。

在我的主页面上,我正在检查用户是否使用以下代码保存在数据库中的authcode:

$userAuth = getAuth($steamprofile['steamid']);
if($userAuth == false){
    ?>
    <script>
        promptAuth(<?php echo($steamprofile['steamid']);?>);
    </script>
    <?php
}

$ userAuth返回false或true(取决于数据库是否保存了auth代码)。

如果返回false(未保存/设置),则调用javascript函数:

function promptAuth(steam64){   
    bootbox.prompt({
        title: "Enter your Auth Code",
        value: "",
        callback: function(result){
            if(result === null){
                Example.show("Prompt Dismissed");
            }
            else{
                qwest.post('processor.php', {
                    user_steam64: steam64,
                    user_auth: result
                })
                .then(function (xhr, response){
                    console.log(response);
                });
            }
        }
    });
}

steam64是用户ID,我使用bootbox进行提示和对话。

我正在使用qwest进行Ajax调用。

因此它将POST请求发送到processor.php文件并发布两个变量:

user_steam64:用户的ID。

user_auth:用户输入的内容。

这是process.php:

<?php
if(isset($_POST['user_auth'])){
    require 'steamauth/steamauth.php';
    include ('steamauth/userInfo.php');
    if($_POST['user_steam64'] == $steamprofile['steamid']){
        echo("ok");
    }
    else{
        echo("not ok, received: ".$_POST['user_steam64'].", actual: ".$steamprofile['steamid']);
    }
}
?>

它基本上检测POST变量user_auth,然后使用实际的steam64验证发送的steam64(以确保某人没有修改steam64。

但是有一个问题:

每当我测试它时,我得到:

  

不行,收到:XXXXXXXXXXXXX240,实际:XXXXXXXXXXXXX0233

将我的实际steamID替换为XXX,因为这些部分始终相同,结尾总共有7个计数差异。

我知道这很简单,但我无法弄明白,从PHP调用JS函数是否存在问题?

0 个答案:

没有答案