我目前遇到PHP函数session_id的问题。即使设置了会话cookie,session_id()始终返回''
在我的脚本开始时,我想检查用户是否有会话,并且我不想调用session_start(),因为它会生成会话cookie。
每当我呼叫session_id时,即使定义了一个会话,它也会返回'''。 我通过$ _COOKIE数组检查会话cookie来验证会话是否已设置。
我目前遇到PHP函数session_id的问题。即使设置了会话cookie,session_id()始终返回''
在我的脚本开始时,我想检查用户是否有会话,并且我不想调用session_start(),因为它会生成会话cookie。
每当我呼叫session_id时,即使定义了一个会话,它也会返回'''。 我通过$ _COOKIE数组检查会话cookie来验证会话是否已设置。
如果没有调用session_start(),PHP会话不存在。在session_start()之后,您可以轻松地检查用户是否已通过检查$ _SESSION超全局数组中的键的会话。
session_start()
将不会生成新的会话。从the PHP docs:
在session_start()创建一个会话或恢复上经由GET或POST请求,或通过cookie传递 传递会话标识符基于 电流之一。
您必须先恢复旧会话,然后才能获取其ID。
如果你想检查他们是否有一个会话,并获得会话ID而不创建一个新的会话,如果他们不是最好的赌注是看$ _COOKIE数组中的会话ID(或$ _GET,如果你使用它来存储ID)。
仅当您调用session_start()时,session_id()才会起作用。如果该会话已经存在,它将不会生成新的会话ID,因此它仍然会为您提供您正在查找的会话ID。
谢谢你,我以为我可以使用该功能没有session_start因为session_start从未在我的文档中的代码示例中提到。 – jgpt