<?php
session_start();
if(! isset($_SESSION['name'])){
   if(isset($_POST['usename'])){
      $username=$_POST['username'];
  $pswd = $_POST['pswd'];
  mysql_connect("localhost","root","");
  mysql_select_db("student_db");
  $query="SELECT name,username FROM userauth";
  $query.="WHERE username='$username' AND passwd=PASSWORD('$pswd')";
  mysql_query("SET NAMES 'gbk'");
  $result = mysql_query($query);
      if(mysql_num_rows($result)==1){
     $_SESSION['name']=mysql_result($result,0,"name");
 $_SESSION['username']=mysql_result($result,0,"username");
 echo $_SESSION['name'].",你成功登录了。<br>";
     }   else{
     include "login.html";
 exit;
     }
  else{
    include "login.html";
exit;
  }
}else{
 $name = $_SESSION['name'];
 echo "欢迎回来,$name!<br>";
}
?>
<a href="logout.php">退出</a>

解决方案 »

  1.   

    ! isset($_SESSION['name']这个空格是?
      

  2.   

    最明显的错误是第二个if语句没有结束的“}“。<?php
    session_start();
    if(! isset($_SESSION['name'])){
    if(isset($_POST['usename'])){
    $username=$_POST['username'];
    $pswd = $_POST['pswd'];
    mysql_connect("localhost","root","");
    mysql_select_db("student_db");
    $query="SELECT name,username FROM userauth";
    $query.="WHERE username='$username' AND passwd=PASSWORD('$pswd')";
    mysql_query("SET NAMES 'gbk'");
    $result = mysql_query($query);
    if(mysql_num_rows($result)==1){
    $_SESSION['name']=mysql_result($result,0,"name");
    $_SESSION['username']=mysql_result($result,0,"username");
    echo $_SESSION['name'].",你成功登录了。<br>";
    }
    else{
    include "login.html";
    exit();
    }
    }
    else{
    include "login.html";
    exit();
    }
    }
    else{
     $name = $_SESSION['name'];
     echo "欢迎回来,$name!<br>";
    }
    ?>
    <a href="logout.php">退出</a>
      

  3.   

    在第二个else前面加个"}",这样结构才完整,楼主先测试下!至于有其他错误再说