如何使用PHP在一段时间后获得新的会话值

时间:2017-03-27 08:49:16

标签: php session

我需要一些帮助。我需要在几秒钟后使用PHP获取新的会话值。我在下面解释我的代码。

<button class="btn nextbtnbgdiv open2" type="button">Next <span class="fa fa-arrow-right"></span></button>
<div class="fyndspacecategory fyndsheightsubc nano">
<div class="nano-content">
<?php
$cat_id= $_SESSION['cid'];
?>
</div>
</div>

当用户点击next按钮时,div部分正在打开,值从会话中获取。在此我需要一段时间后,每次点击$_SESSION['cid']按钮时都会更新next。请帮助我。

1 个答案:

答案 0 :(得分:0)

为了获取更新的$_SESSION['cid'],你需要调用服务器来返回这个值,你可以通过将值嵌入元素来实现,即

后端(即get_session.php):

<html>
<body>
    <div id="session"><?= $_SESSION['cid'] ?></div>
</body>
</html>

前端:

<button class="btn nextbtnbgdiv open2" type="button">Next <span class="fa fa-arrow-right"></span></button>
<div class="fyndspacecategory fyndsheightsubc nano">
    <div class="nano-content"><?php $cat_id= $_SESSION['cid']; ?></div>
</div>

<script>
jQuery(function($) {

    $(document).on( 'click', '.nextbtnbgdiv', function() {
        $('.fyndspacecategory .nano-content').load('/get_session.php', '#session');
    });

});
</script>

或者您可以使用页面中的标题来访问$_SESSION['cid']

<?php
if ( isset( $_GET['get_session'] ) && $_GET['get_session'] ) {
    header( 'X-Session: ' . $_SESSION['cid'] );
    exit;
}
?>

<button class="btn nextbtnbgdiv open2" onclick="javascript:getSession();" type="button">Next <span class="fa fa-arrow-right"></span></button>
<div class="fyndspacecategory fyndsheightsubc nano">
    <div class="nano-content" id="sessionId"><?php $cat_id= $_SESSION['cid']; ?></div>
</div>

<script>
function getSession() {
    var request = new XMLHttpRequest();
    request.onerror = function() { console.warn('An error occurred while checking session.'); };
request.open('HEAD', '?get_session=true', true);
    request.onload = function() {
        if ( request.getResponseHeader('X-Session') ) {
            document.getElementById("sessionId").innerHTML = request.getResponseHeader('X-Session');
        }
    };
    request.send();
}
</script>

这未经过测试,但应足以让您开始完成目标。