你好朋友我是论坛新手 我创建了一个简单的登录页面名称为 index.php ,代码如下:
// I have already starts session by session_start()
$qry="select empCode from relaxo_employee_info where empCode='".$username."' and empPassword='".$password."' and empPost='Executive'";
$result=mysql_query($qry);
if($row=mysql_fetch_array($result))
{
$_SESSION['UID']=$username;
echo $_SESSION['UID']; //prints session data successfully so think session set correctly.
?>
<script>self.location.href='executive/order_place.php';</script>
<?php
}
然后在 order_place.php 开始时,我通过 session_start()继续会话,并在其中输入以下代码以检查有效会话
<?php
session_start();
if(isset($_SESSION['UID'])==NULL) // at this point $_SESSION['UID'] find automatically empty. somehow Its blank completely.
{
?>
<script>self.location.href='index.php';</script> //because of session finds empty it redirects to index.php
<?php
}
?>
发生了奇怪的事情,我只是与你分享,这有助于你理解我的问题
1)相同的代码在localhost上成功运行,但在我的域上不起作用 2)有时会话成功运行,但有时没有相同的代码而没有任何更改
所以,请大家解决我的问题并帮助我解决这个问题
答案 0 :(得分:1)
if(isset($_SESSION['UID'])==NULL)
$_SESSION
变量与NULL
进行比较,是一种奇怪的方法。相反,尝试
if(is_null($_SESSION['UID']))
并查看问题是否仍然存在。
答案 1 :(得分:0)
if(isset($ _ SESSION [&#39; UID&#39;])== NULL)是您的问题所在。如果true == null或false == null,它永远不会起作用。
答案 2 :(得分:0)
isset($_SESSION['UID'])
测试您的变量是否已设置
为了让你测试它的价值,尝试一下:
if( isset($_SESSION['UID']) && trim($_SESSION['UID'])!='' )
{
// execute code here
}
答案 3 :(得分:0)
试试这个......
<?php
session_start();
if(isset($_SESSION['UID'])) // check whether session is set or not.
{
if($_SESSION['UID'] == NULL) // check session is NULL
{
header('location:index.php'); // redirect to index.php page
}
}
?>