<?php
include("../conn.php");
  $user=$_POST['LoginName'];
$pwd=$_POST['LoginPass'];
$loginsql='SELECT id FROM admin where usename="'.$user.'" and pwd="'.$pwd.'"';
  $loginquery=mysql_query($loginsql);
  if($loginrow=mysql_fetch_array($loginquery))
  { 
   @session_start(); 
    $_SESSION['admin']=$loginrow['id'];
    echo "<script>alert('".$_SESSION['admin']."Login...OK');window.location.href='index.php';</script>";
  }
  else
  {
   echo "<script>alert('NO...Password');history.go(-1);</script>";
  
  }
  
?><?php 
@session_start(); 
$adminId=$_SESSION['admin'];
if($_SESSION['admin']=="")
{
echo "<script>alert('Please login...');window.location.href='adminLogin.php';</script>";
}
?>

解决方案 »

  1.   

    你第一段代码中没有 
    session_start(); 
      

  2.   


    @session_start(); 第一段中我确定是有的 ...
      

  3.   

    你如何得出Session的值取不到这个结论的?
    你db执行的结果打出来看看
      

  4.   

    $loginsql='SELECT id FROM admin where usename="'.$user.'" and pwd="'.$pwd.'"';
    我一般這樣寫
    $loginsql="SELECT id FROM admin where usename='".$user."' and pwd='".$pwd."'";
      

  5.   

    用session.必须在最前头开启session_start();
      

  6.   


    session_start();  我都有写啊 
      

  7.   

    你把 @session_start();     改为 session_start();     就应该知道原因了
      

  8.   

     @session_start();知识屏蔽错误,没有解决到根本问题的
      

  9.   

    第一。session_start()并不一定要放到整个文件的第一行。第二。你的session_start()前面不应该加@。但是加了似乎也可以运行。不会报错。我测试了测试。第三。在数据库查询语句上。我比较同意blizzf99的写法。
      

  10.   

    看不出来有什么问题啊,你可以直接传递SID,通过SID应该可以,
    有时候就是挺cd的,莫名其妙的session问题,
      

  11.   

    session_start()写在开头 并且检查数据库中有值没有