我想使用session发送文章ID,Source页面包含许多链接以打开一个网页,但id在href的ID属性中。喜欢
<br/>
< a id="13" class="openpage" href="test.html">open test form< /a><br />
我使用javascript传递变量
$(".openpage").on('click', function() {
var artid = $(this).attr("id");
<?php $_SESSION['artid'] = "<script>document.write(artid)</script>"?>
});
var artid在加载新页面之前具有正确的值,并且$ _SESSION ['artid']没有获得artid的值。
答案 0 :(得分:0)
您必须更新索引文件, test.html 才会变为 的 test.php的强>
jQuery part 代码获取链接上ID属性的值 将它存储在cookie中。
在 test.php 中 COOKIE 的值已分配给您的SESSION,并使用内置的php set_cookie()<清除COOKIE /强> 用于设置cookie的值为空值(出于安全原因);
Cookie 在 1分钟后到期。如果你愿意,你可以更新它。
-
// index.php文件
<a id="13" class="openpage" href="test.php" >open test form</a>
<!-- JS HERE --->
<script src="http://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
function setCookie(key, value) {
var expires = new Date();
expires.setTime(expires.getTime() + (60 * 1000));
document.cookie = key + '=' + value + ';expires=' + expires.toUTCString();
}
$(".openpage").on('click', function() {
var artid = $('.openpage').attr("id");
setCookie('cookie_session', artid);
});
});
</script>
// test.php文件
<?php
if(isset($_COOKIE['cookie_session'])):
$_SESSION['artid'] = $_COOKIE['cookie_session'];
setcookie("cookie_session", '');
echo $_SESSION['artid'];
endif;
?>
这是浏览器的开发工具&gt;中COOKIE的屏幕截图。 申请&gt;饼干强>
您可以在浏览器中看到 COOKIE , SESSION 现在持有数据。
希望这会有所帮助:)