2017-07-26 104 views
1

我想使用会话发送文章ID,源页面包含许多链接以打开一个网页,但id在ID属性中存在href。像将javascript变量转换为php并使用会话发送它

<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

你必须更新你的索引文件和的test.html成为代码的 test.php的

jQuery的一部分需要你的ID属性的值上链接 将其存储在cookie中。

在你test.php的COOKIE的值分配给您的会议和COOKIE使用内置PHP set_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; 
    ?> 

这里是在浏览器的开发工具> 应用的COOKIE的截图>饼干

enter image description here

正如你可以看到COOKIE没有更多的您的浏览器和SESSION 现在保存数据。

希望这有助于:)

+0

感谢您的回复,同时检查$ _ POST [“yourId”]在test.php的文件,它说不定指标,我没有得到在test.php的文件中的值:你的ID –

+0

好的。我将采用另一种方法。稍微更新一下。 – Oluwaseye

+0

答案用新方法更新。 – Oluwaseye