在我离开页面之前,选择一个值并将其存储在PHP$\u会话变量中?
有没有一种方法可以让用户从HTML选择下拉列表中选择一个项目,然后在离开页面之前将其存储在$会话变量中?我知道最明显的方法是让表单返回到同一页面,然后检查设置的变量,但我正在尝试修改其他人在不进行重大重写的情况下所做的事情 即,是否可以设置会话变量,该变量的值根据用户的选择选项而变化,而无需重新加载页面 非常感谢大家的帮助。这就是所谓的AJAX 但是没有纯粹的PHP方式,因为PHP只是服务器端在我离开页面之前,选择一个值并将其存储在PHP$\u会话变量中?,php,Php,有没有一种方法可以让用户从HTML选择下拉列表中选择一个项目,然后在离开页面之前将其存储在$会话变量中?我知道最明显的方法是让表单返回到同一页面,然后检查设置的变量,但我正在尝试修改其他人在不进行重大重写的情况下所做的事情 即,是否可以设置会话变量,该变量的值根据用户的选择选项而变化,而无需重新加载页面 非常感谢大家的帮助。这就是所谓的AJAX 但是没有纯粹的PHP方式,因为PHP只是服务器端 因此,您必须求助于javaScript。您需要使用AJAX来完成此操作。在不重新加载页面的情况下修改
因此,您必须求助于javaScript。您需要使用AJAX来完成此操作。在不重新加载页面的情况下修改$\u会话变量的唯一方法是执行异步请求(即AJAX)
从技术上讲,您不能从客户端修改会话变量。这意味着,您需要以某种方式向服务器发出请求—通过重新加载页面、发布到其他页面或使用Ajax发出越界请求。您需要从HTML向脚本发出Ajax请求,您可以使用*
*其他JavaScript库在HTML文件中可用,您有以下jquery/JavaScript代码:
$(document).ready( function() {
$("#my_select").change( function() {
// alert($(this).val());
url = "MyPage.php";
var myData = {};
myData['my_select'] = $(this).val();
jQuery.get( url, myData, function(data)
{
// console.log(data);
// the placeholder where you wanted to show it
$("#my_session_select_value").html(data);
});
});
});
在php文件(存储会话值)中,您有以下代码:
session_start();
$_SESSION['my_select'] = $_GET['my_select'];
// if you wanted a json encoded result
// echo json_encode($_SESSION);
// if you wanted a direct value
echo $_SESSION['my_select'];
谢谢我怀疑是这样的。
session_start();
$_SESSION['my_select'] = $_GET['my_select'];
// if you wanted a json encoded result
// echo json_encode($_SESSION);
// if you wanted a direct value
echo $_SESSION['my_select'];