<?php
include 'Common.php';
$name=$_POST['name'];//错误在这里
$pwd=$_POST['pwd'];//和这里
$sql="select * from user where name='$name' and password='$pwd'";
if (isset($name) && isset($pwd))//判断用户名,密码是否存在
{
if (isset($name)!=NULL  &&  isset($pwd)!=NULL)//判断用户名,密码是否为空
{
/* $select=mssql_query("select * from user where name=$name and password=$pwd");
if (mssql_num_rows($select)==1)*/
$result=mysql_query($sql);
if (mysql_num_rows($result)==1)
{
echo "<script>alert('登录成功!');window.location.href='file/select.php';</script>";//
$_SESSION['name']=$name;         //定义session变量
//echo $_SESSION["name"];
}else{
echo "<script>alert('用户名或密码不正确!')</script>";
}
}else {
echo "<script>alert('请输入用户名或密码!')</script>";
}
}
?>
  <?php 
   include_once '../login_info.php';
     ?>
    <table width="635" height="23" border="1">
           <tr>
                  <?php  if (isset($_SESSION["name"])) {?>
                  <td width="512"><div align="right"><a href="#">欢迎你:<?php echo $_SESSION[$name]; ?></a></div></td>

解决方案 »

  1.   

    两个页面的顶部都加上
    session_start();
      

  2.   

    你session还没开启,建议直接在另一个文件直接把session的类封装好,实例化session的时候直接开启session
      

  3.   

    什么意思  你的错误提示  不是说你没有post过来name和pwd的值吗?跟session有什么关系..
      

  4.   

    我也同意楼上的看法,这报错明明是提示你$name和$pwd还没拿到值,而且就我经验来看如果是没开启session的话报错的级别肯定不是Notice的,一步一步的解决问题,这样长久下去的话你的思维方式会慢慢的跟着浏览器走,挺好的
      

  5.   

    未定义的变量,说明你post过去的数据没有 接收到。。应该是html里的表单里的input的name不是name和pwd
      

  6.   

    首先php.ini中是将session设置成开启的,
    注释的echo $_SESSION["name"]; 能够输出登录的用户名的,再次在代码中加入session_start(); 也是依然是同样的错误,我是想在登录后主页面显示“欢迎你:XXX”,感谢各位的回复
      

  7.   

     include 'Common.php';
    $name=$_POST['name'];
    $pwd=$_POST['pwd'];
    echo "用户名:".$name."<br/>";
    echo "密码:".$pwd;
    输出的结果,name和pwd的值post过来了
      

  8.   


    name和pwd的值post过来了,只是在其他的php页面出现如上的错误
         <?php   if (isset($_SESSION['name'])) {?>
          <td width="512"><div align="right"><a href="#">欢迎你:<?php  echo $_SESSION['name'];  ?></a></div></td><?php  } ?>