PHP存储会话数据,在会话中存储用户ID
Posted
技术标签:
【中文标题】PHP存储会话数据,在会话中存储用户ID【英文标题】:PHP storing session data, storing userid in session 【发布时间】:2015-05-06 08:46:42 【问题描述】:抱歉,我是新手。以下代码仅显示“请登录”。代码确实有效,但它没有做我想要的,我正在尝试将用户 ID 存储在会话中。这是我的代码
<?php
if(!isset($_SESSION)) session_start();
if(isset($_POST['userid']))
$userid = $_POST['userid'];
$_SESSION['userid']=$userid;
echo "Welcome $_SESSION[userid]";
if (!isset($_SESSION['userid']))
echo "Please login";
exit;
?>
【问题讨论】:
请出示您的表格代码 错字echo "Welcome $_SESSION[userid]";
必须是echo "Welcome $_SESSION['userid']";
它不会解决你的问题
Hei @r33drum 为什么您在一段时间后将正确答案更改为另一个答案并且因为我的答案有效而投了反对票?
@Sanjay Kumar N S 我不能投票,我没有 15 个代表,我使用了你的代码并且它有效,我很感激,我给了你正确的答案。
@r33drum 现在它来了。
【参考方案1】:
session_start() 应该在开头没有任何条件。还有一个额外的右括号 ) 在第二个 if 条件语句中。试试这个:
<?php
session_start();
if(isset($_POST['userid']))
$_SESSION['userid']= $_POST['userid'];
echo "Welcome $_SESSION['userid']";
if (!$_SESSION['userid'])
echo "Please login";
exit;
【讨论】:
【参考方案2】:session_start();
不应该在你的 if 条件下,它必须在脚本的开头并且总是启动
<?php
session_start();
if(isset($_POST['userid']))
$_SESSION['userid']= $_POST['userid'];
echo "Welcome ".$_SESSION['userid'];
if (!$_SESSION['userid'])
echo "Please login";
exit;
【讨论】:
【参考方案3】: session_start() 需要在您开始使用会话之前。 我建议您将 isset() 替换为 empty(),因为 empty() 已检查: “”(空字符串) 0(0为整数) 0.0(0 作为浮点数) “0”(0作为字符串) 空 错误 array()(一个空数组) $var; (声明的变量,但没有值)【讨论】:
以上是关于PHP存储会话数据,在会话中存储用户ID的主要内容,如果未能解决你的问题,请参考以下文章