出于某种原因,我的帖子ID会话没有转到我的评分脚本页面。我从帖子页面的帖子页面中获取post_id,并将其转化为$_SESSION
以将其带到我的评分脚本页面。我的$_SESSION
保存登录的用户ID $_SESSION['user_id']
如果登录继续到评分脚本但不是$_SESSION
。我怎样才能让我的帖子ID继续到我的评分脚本页面?我有两个页面的顶部有session_start();
。
$_SESSION['post_id'] = $_GET['pid'];
出于某种原因,我的帖子ID会话没有转到我的评分脚本页面。我从帖子页面的帖子页面中获取post_id,并将其转化为$_SESSION
以将其带到我的评分脚本页面。我的$_SESSION
保存登录的用户ID $_SESSION['user_id']
如果登录继续到评分脚本但不是$_SESSION
。我怎样才能让我的帖子ID继续到我的评分脚本页面?我有两个页面的顶部有session_start();
。
$_SESSION['post_id'] = $_GET['pid'];
在开始会话之前,您可能有一些输出。如果是这种情况,会话可能无法正确设置。启用调试模式,并寻找一个错误关于session_start()函数:
ini_set('display_errors', 'on');
error_reporting(E_ALL);
或检查的error_log如果不能切换调试上。
错误可能是这样的:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\phptests\test.php:1) in C:\xampp\htdocs\phptests\test.php on line 4
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\phptests\test.php:1) in C:\xampp\htdocs\phptests\test.php on line 4
+1我正在输入相同的东西..每次都会得到我......即使是空白的行可以做到这一点。 – Mikey1980 2010-08-31 13:46:40
我在哪里放置此代码? – aatteot 2010-08-31 13:47:03
@aatteot,位于脚本的顶部。 – shamittomar 2010-08-31 13:49:51
因与PHP会话问题的最常见原因是会议开始前的PHP脚本输出的东西。
好吧,您可能没有任何回声语句,或者除了阅读会话之外,您甚至可能没有任何PHP代码......但花时间检查您的代码开始之前会发生什么。
例如,我们的临场发挥的区别:(只有一个代码将工作)
<?php
session_start();
$_SESSION["test"] = "hello";
if($_SESSION["test"] == "hello";
{
echo "Session is working!";
}
else
{
echo "Session is NOT working!";
}
?>
和...
<?php
session_start();
$_SESSION["test"] = "hello";
if($_SESSION["test"] == "hello";
{
echo "Session is working!";
}
else
{
echo "Session is NOT working!";
}
?>
所不同的是,有在开幕前一个空格session_start()之前的任何数据都会停止脚本的工作。
我一直在那里 - 在文档的顶部有一个意外的空白或空白行会产生严重的问题,但启用php错误输出应该会告诉您在哪里出错,如果是这种情况。
'$ _SESSION ['post_id'] = $ _GET ['pid'];'在每页的顶部?如果没有提供pid,'$ _SESSION ['post_id']'将会被覆盖掉。 – fredley 2010-08-31 13:40:05
没有它的只是在后页面。 – aatteot 2010-08-31 13:40:48