PHP-$_SESSION值不成立!

我正在编写一个用户登录系统,而我(与许多其他人一样)在会话方面遇到问题.

这是验证输入后登录脚本的指针:

session_start();
$_SESSION['id']=$id;
header('location: memberhome.PHP');

这是memberhome.PHP上的第一件事:

<?PHP
session_start();
$id=$_SESSION['id'];
?>

后来在memberhome.PHP中:

You are logged in as: <?PHP echo $id; ?>

问题是$_SESSION [‘id’]显然是空的,因此回显$id没有显示任何内容.

另一种方法也不起作用:

//removed session_start and $_SESSION bit from the top
You are logged in as: <?PHP session_start(); echo $_SESSION['id']; ?>

现在,这是奇怪的部分.此方法有效:

You are logged in as: <?PHP echo session_start();$_SESSION['id']; ?>

您可以看到session_start()在回显之后被移动了.当页面登录脚本加载时,此方法有效.但是,刷新后,它将不再起作用.

我尝试了很多替代方法,并花了几个小时来寻找先前问题的答案.我还查看了PHPinfo()的内容,但没有发现任何问题.这完全是我的进步.谢谢!

解决方法:

首先,请启用调试:

error_reporting(E_ALL);
ini_set('display_errors', '1');

其次,session_start()必须位于页面顶部.所以你写的那行;

You are logged in as: <?PHP echo session_start();$_SESSION['id']; ?>

将永远无法工作.

在任何HTML等之前,以下行必须位于页面顶部.

<?PHP
session_start();
$id=$_SESSION['id'];
?>

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...