基本上我想要像
这样的东西$string = "dadeadad";
if(session_id($string)){
// $string is a valid php session, not expired
}else{
// $string is not a valid php session
}
但我找到的只是检查会话是否已启动(这不是我想要的)的示例。关于如何做到这一点的任何想法?
答案 0 :(得分:3)
检查会话是否已设置且等于某事。
即:
session_start();
$_SESSION['string'] = "dadeadad";
if(isset($_SESSION['string']) && $_SESSION['string'] == "dadeadad"){
// session is true and equals to string
}
else{
// do something here
}
无论哪种方式,您仍然需要使用条件语句来检查会话ID是否等于某事。
如上所述,来自Dagon if($x==$y)
。
从此回答中提取的示例https://stackoverflow.com/a/21302920/
将变量分配给session_id()
,稍后您可以检查它是否等于“某事”。
<?php
session_start();
$r=session_id();
/* SOME PIECE OF CODE TO AUTHENTICATE THE USER, MOSTLY SQL QUERY... */
/* now registering a session for an authenticated user */
$_SESSION['username']=$username;
/* now displaying the session id..... */
echo "the session id id: ".$r;
echo " and the session has been registered for: ".$_SESSION['username'];
/* now destroying the session id */
if(isset($_SESSION['username']))
{
$_SESSION=array();
unset($_SESSION);
session_destroy();
echo "session destroyed...";
}
另一个例子,取自手册:http://php.net/manual/en/function.session-id.php
<?php
$a = session_id();
if(empty($a)) session_start();
echo "SID: ".SID."<br>session_id(): ".session_id()."<br>COOKIE: ".$_COOKIE["PHPSESSID"];
答案 1 :(得分:0)
看起来你正在寻找这样的东西:
<a>