我是使用会话变量的新手,尽管我在网上搜索了解会话变量,但我一直在苦苦挣扎。
所以基本上我有一个页面(search.php)。我加载一个基于搜索表单的动态数据表。加载表后,我通过AJAX执行以下操作:
$.ajax({
type:'POST',
url:'/ITSMIS/data/asset/search.php',
data:HardwareAsset,
dataType: 'html',
// When PHP / SQL Query Has Been Executed If Data Is Returned
success:function(data){
// Load The Data Table Results
LoadDataTable(data);
// Generate Hyperlinks For The Table Rows
$('#data-table tr').click(function(){
var HyperlinkHardwareAssetID = $(this).data('id');
$.ajax({
type:'POST',
url:'/ITSMIS/session.php',
data: HyperlinkHardwareAssetID,
success: function(data){
alert("great!");
}
});
window.location = $(this).data('href');
});
}
})
正如您在Success和单击table row记录时所看到的,我的想法是通过AJAX发布一个变量以供以后使用。并将用户重定向到update.php页面。
然后,我希望使用发布的AJAX变量在session.php页面中创建一个会话变量。
session_start();
$_SESSION["HardwareAssetID"] = $_POST["HyperlinkHardwareAssetID"];
然后,当update.php页面加载时,需要我在页面上显示会话变量结果。
$session = $_SERVER['DOCUMENT_ROOT'];
$session .= "/ITSMIS/session.php";
include_once($session);
echo $_SESSION["HardwareAssetID"];
但我只得到以下错误:
注意:第3行C:\xampp\htdocs\itsmis\session.php中未定义索引:HyperlinkHardwareAssetID
这意味着由于某种原因,点击表行时的AJAX帖子没有起作用。但是,总是会触发带有成功的警报。
有什么想法吗???
您需要将ajax数据参数作为对象{key:value}传递
$.ajax({
type:'POST',
url:'/ITSMIS/session.php',
data: {HyperlinkHardwareAssetID : HyperlinkHardwareAssetID },
success: function(data){
alert("great!");
}
});
要向php发送变量,必须在$.ajax
函数的data
属性中发送一个对象,如下所示:
$.ajax({
data: {
'var_name': 'value'
}
});
并且,在PHP文件中:
$item = $_POST['var_name'];
因此,在代码中,应该这样使用$.ajax函数:
$.ajax({
type:'POST',
url:'/ITSMIS/session.php',
data: {
'HyperlinkHardwareAssetID': HyperlinkHardwareAssetID
},
success: function(data){
alert("great!");
}
});
有关更多信息,请参阅jQuery.ajax()文档
问题内容: 我不确定这是否可能。 我的“活动”网站正在处理注册并将其保存到我们的数据库中,但是我们的主站点负责处理信用卡处理。通过在主网站上处理当前的购买,会话可用于将数据传递到付款/抄送屏幕。 不必更改我的付款代码(例如接受$ _GET参数),我的变量是否应该传递过来? 例: 我的页面在上面查找地址会话变量。 问题答案: 跨域会话ID 默认情况下,使用cookie传递会话ID。由于您的网站位于不
问题内容: 是否可以在PHP中使数组成为会话变量? 情况是,我有一个表(第1页),其中有些单元格具有指向特定页面的链接。下一页将列出名称(第2页,我想保留在会话数组中)及其相应的复选框。提交此表单后,它将进入一个交易页面(第3页,其中已发布复选框的值保存在数据库中以用于对应名称)。现在,如果我返回首页并单击另一个单元格,则会话数组将包含新名称列表还是旧名称列表? 问题答案: 是的,PHP支持将数组
问题内容: 我需要通过过滤器访问会话变量。我什至不知道是否可能。实际上,问题在于实现的方法类型是,而HttpServlet继承了类,而doPost方法的参数是HttpServletRequest。 我可以在ServletRequest的过滤器中访问会话吗? 我应该那样做吗? 你能推荐我什么? 谢谢! 问题答案: 只需将获得的内容转换为即可。
我知道这是一个常见的问题,因为我在决定发帖之前一直在寻找答案,但我似乎无法找到一个解决方案。 问题:我有一个分页脚本(PHP)用于我的搜索结果。显然常见的是,第一页的结果显示良好,然后在移动到第2、3页等时失败。 当点击页面2、3等时,我在搜索中使用的每个变量都有一个“未知索引”错误。 因此,I$_从表单中获得以下变量: 谢谢
我有多个Gatling模拟,我正试图以一种重用低级调用(即HTTP调用)的方式构建它们,同时构建不同的场景。因此,我有以下结构(为了解释当前状态,使用了echo函数): 在上面提供的测试模拟中,我们从文件中提供数据并选择我们作为Map存储到会话中的属性子集。如果在文件中找到此类属性,我们会在提交回显请求时将它们添加为表单参数。否则我们不会。在这两种情况下,我们都存储了响应正文并将其打印出来。这很好
问题内容: 如标题所述,会话变量是否有限制(如果有),或者它们被视为 常规 变量并且可以存储相等数量的数据? 我在寻找是否存在除最大长度,最大值等变量类型之外的其他限制。 附注:如果问题不清楚,请告诉我。 提前致谢! 问题答案: 正如@Thariama所说,变量的数量没有限制。此外,会话中可以存储的数据量没有限制(我看到会话的大小为几十MB)。 随着会话的大小变大,您会遇到各种奇怪的问题:PHP