如何将javascript变量分配给会话值


How can I assign a javascript variable to the session value

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

我必须将s的值分配给会话变量$_session['id']。我该怎么做?

您不能将客户端变量(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'];
?>

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

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

获取cookie

alert($.cookie("测试"((;

//在PHP 中

<?php
print_r($_COOKIE);
print)r($_REQUEST);
?>
$_SESSION['id'] = $_GET['c']

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

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

只需先检查c是否真的在URL中。