gpt4 book ai didi

javascript - 在 php 中刷新时,变量在上一页的查询字符串中丢失

转载 作者:行者123 更新时间:2023-12-03 12:33:36 25 4
gpt4 key购买 nike

我有一段代码,我要从一个页面转到另一个页面并在查询字符串中传递一个变量。我将在下一页中获取该变量并显示与之相关的结果。但是当我刷新第二页时,它说我从“第一页”获得的变量未定义。

以下是链接

<a href="next.php?name=men-shoes">shoes</a>

next.php如下

$lcSearchVal=$_GET['name'];
<input type="checkbox" name="check" value="one">one<br>
<input type="checkbox" name="check" value="two">two<br>

<script>
$('input[type="checkbox"]').on('change', function(e){
var data = $('input[type="checkbox"]').serialize(),
loc = $('<a>', {href:window.location})[0];
$.post('/ajax-post-url/', data);
if(history.pushState){
history.pushState(null, null, loc.pathname+'?'+data);
}
});
</script>

我首先在第二页上得到 lcSearchVal,但是当我刷新页面时,我在浏览器中收到错误,名称是 undefined index 。

如何纠正这个问题,以便当我刷新页面时它应该处于相同的状态?即我选中的复选框应保持选中状态,并且 lcSearchVal 应该以相同的方式读取。

最佳答案

一个快速的解决方案是使用 session 。所以你的代码将变成:

session_start();
if(isset($_SESSION['name']) && ! isset($_GET['name']))
{
$lcSearchVal = $_SESSION['name'];
}
else
{
$lcSearchVal = $_GET['name']; // do not forget to sanitize this data
$_SESSION['name'] = $lcSearchVal;
}

关于javascript - 在 php 中刷新时,变量在上一页的查询字符串中丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23827092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com