【问题标题】:Pass JavaScript variable to php script将 JavaScript 变量传递给 php 脚本
【发布时间】:2014-04-09 22:58:07
【问题描述】:

我有 2 个文件“index.php”和“userip.php”。我想通过 ajax 将变量 varip 传递给文件“userip.php”。如果这成功了,我想在会话中分享POST['name'];。我以为会设置会话,但是当我重新加载 index.php 页面时,回显什么也没有显示。有人可以帮帮我吗?

index.php(jQuery 部分):

    <script type="text/javascript">   
    $.getJSON("http://ip.jsontest.com/", function(data) {
        var varip = "";
        $.each(data, function(k, v) {
            varip += v;
            $.ajax({
                type: "POST",
                url: "userip.php",
                data: "name="+varip,
                success: function(data){
                    alert("ok");
                }
            });
        });            
    });  
    </script>

index.php(php部分):

<?php
echo $_SESSION['userip'];
?>

userip.php

session_start();
if(!empty($_POST['name'])){ 
    $variable = $_POST['name'];
    $_SESSION['userip'] = $variable;
}

【问题讨论】:

标签: php jquery ajax session


【解决方案1】:

问题是您的index.php 文件中缺少session_start(),因此此时尚未加载$_SESSION

但您似乎正在获取用户的 IP 地址?

<?php
echo $_SERVER['REMOTE_ADDR'];

【讨论】:

  • 天哪,就是这样-,-谢谢伙计。有时我很愚蠢。 $_SERVER['REMOTE_ADDR'];无法正常工作,因为它是代理并且所有客户端都具有相同的 IP。我试过这个:stackoverflow.com/a/14985633/1516246 但它不起作用。每个 $_SERVER 意见输出都是代理 IP
【解决方案2】:

改变

data: "name="+varip,

data: { name: varip  },

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-15
    • 2011-11-18
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    相关资源
    最近更新 更多