php 中session问题:为什么用isset()不能判断呢?
来源:百度知道 编辑:UC知道 时间:2024/06/05 21:11:16
page1
<?php
//session_start();
if ( isset($_POST['user']) && isset($_POST['pwd']) )
{
$userid1 = ltrim($_POST['user']);
$password1 = ltrim($_POST['pwd']);
$db_conn = mysql_connect("localhost",'root','');
mysql_select_db('clothing');
$result = mysql_query("SELECT * FROM manager where userid='$userid1' and password='$password1'",$db_conn);
//echo "liuzhenfeng $userid1";
if ($myrows=mysql_fetch_array($result))
{
$_SESSION['valid_user'] = $userid1;
$flag = 1;
//session_register("valid_user");
//$_SESSION['valid_user']=$useridl;
header("location: main.php");
//设置SESSION
}
else
{
?>
<?php
//session_start();
if ( isset($_POST['user']) && isset($_POST['pwd']) )
{
$userid1 = ltrim($_POST['user']);
$password1 = ltrim($_POST['pwd']);
$db_conn = mysql_connect("localhost",'root','');
mysql_select_db('clothing');
$result = mysql_query("SELECT * FROM manager where userid='$userid1' and password='$password1'",$db_conn);
//echo "liuzhenfeng $userid1";
if ($myrows=mysql_fetch_array($result))
{
$_SESSION['valid_user'] = $userid1;
$flag = 1;
//session_register("valid_user");
//$_SESSION['valid_user']=$useridl;
header("location: main.php");
//设置SESSION
}
else
{
?>
有没有引号无所谓的。
session_start();不能注释,需要每个页面的开头都有这一句。
其他看不出什么问题来了。。
echo $_SESSION['valid_user']."dsfjasfjslfas<br>";//能够输出
if(isset($_SESSION[valid_user]))//总是不成立,不知道为什么啊
是if(isset($_SESSION['valid_user']))
少了引号了,大哥!~~
同意回答者:sunboatz
isset($_SESSION[valid_user])这最好加个引号吧
isset($_SESSION['valid_user'])
对了:我看你注释了echo的代码
在header("location: main.php");以前你没有echo 任何代码吧!
header()要在任何输出以前发送!
建议使用<script>window.location.href='mian.php';</script>
用空判断一下
if($_SESSION['valid_user']!="")