我怎样才能分配一个JavaScript变量的会话值

问题描述:

function changeClient(s) { 
if(s.value!=0) 
{ 
    document.location.href = "map.php?c="+s.value; 
} 

我必须将s的值分配给会话变量$ _SESSION ['id']。我怎么能?我怎样才能分配一个JavaScript变量的会话值

$_SESSION['id'] = $_GET['c'] 

设置您发送给会话变量的GET参数。

+0

Ya..i把$ _SESSION ['id'] = $ _GET ['c'];并在另一个页面我有这个价值..如果(isset( $ _SESSION ['id'])) {$ g ['client_id'] = $ SESSION ['id'];} ..但它不会进入if条件。 – Ashitha 2011-06-17 07:25:42

+0

您是否在两个页面上使用了'session_start()'? – 2011-06-17 07:28:57

+0

Ya..it被使用.. – Ashitha 2011-06-17 07:30:41

$_SESSION['id'] = $_GET['c'] 

只要检查c是否真的在URL中第一个。

+0

我认为它实际上是$ _GET [ 'C']没有? – 2011-06-17 07:17:29

+0

耶,好赶 – SpliFF 2011-06-17 07:19:19

+0

雅..我把$ _SESSION ['id'] = $ _GET ['c'];并在另一个页面我已经收回此值..如果(isset($ _ SESSION ['id']) ) {$ g ['client_id'] = $ SESSION ['id'];} ..但它不会进入if条件。 – Ashitha 2011-06-17 07:27:07

您不能将客户端变量(Javascript)分配给服务器端变量(PHP)。

你必须使用ajax来做到这一点。

<script> 
function assignJsValueToPHPSession() 
{ 
var jsVar = 1; 
$.ajax({ 
    type:post, 
    url: "test.html", 
    data: 'sessionjsvar=' + jsVar, 
    success: function(){ 
    $(this).addClass("done"); 
    } 
}); 
} 

test.php的

<?php 
    $_SESSION['phpvalue'] = $_POST['sessionjsvar']; 
?> 
+0

Thankz很多..现在好了... – Ashitha 2011-06-17 08:09:04

您可以使用JavaScript设置cookie,并在相同的cookie将在服务器端变量(PHP)访问。

$.cookie("name1", "test"); // emample 1 
$.cookie("name1", "test", { expires: 7 }); // emample 2 
$.cookie("name1", "test", { path: '/User', expires: 7 }); // emample 3 

获取一个cookie

警报($ .cookie( “测试”));

//在PHP

<?php 
print_r($_COOKIE); 
print)r($_REQUEST); 
?>