2014-04-09 241 views
0

我有2個文件「index.php」和「userip.php」。我想通過變量varip將文件「userip.php」與ajax一起傳遞。如果這是成功的,我想在會話中分享POST['name'];。我認爲會話將​​被設置,但是當我重新加載index.php頁面時,echo沒有顯示任何內容。有人可以幫我嗎?將JavaScript變量傳遞給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; 
} 
+0

添加在session_start()到index.php的 – Greg

+0

可能重複的[JavaScript變量PHP腳本](http://stackoverflow.com/questions/21310310/javascript-variable-to-php-script) –

回答

1

的問題是,你在你的index.php文件中缺少session_start(),所以在這一點上$_SESSION尚未加載。

但它看起來像你得到用戶的IP地址?

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

OMG多數民衆贊成在 - , - 謝謝你。我有時候很愚蠢。 $ _SERVER [ 'REMOTE_ADDR'];沒有工作,因爲它的代理和所有客戶端具有相同的IP。我試過這個:http://stackoverflow.com/a/14985633/1516246但它沒有工作。每個$ _SERVER意見輸出都是代理IP – Rene

-1

變化

data: "name="+varip, 

data: { name: varip },