第一个页面:
session_start();
include("code/DB.php");
                 $user=$_POST['name'];
 $pwd=$_POST['pwd'];
 $query="select * From users where UserName='$user'and UserPassword='$pwd'";   
                    $AdminResult=mssql_query($query);
          $Num=mssql_num_rows($AdminResult); if($Num)
 {    $_SESSION["username"]=$user;
 }
    
提交之后跳转到第二个页面
<td><div align="right">姓名:</div>
  <?php 
        echo $_SESSION["username"];
   ?></td>
为什么 echo $_SESSION["username"];输出不出来!页面之间传递不了参数.......

解决方案 »

  1.   

    首先确定你第一个页是否赋值了??
    每个页面使用都要session start,并且之前不能有任何输出
      

  2.   

    看看SQL语句有没有错,$Num有值没
      

  3.   

    如果错误报告是e_all的话,那就是session操作的有问题了。为了避免每个页面都写session_start可以在DB.php中session_start
      

  4.   

    $query="select * From users where UserName='$user'and UserPassword='$pwd'";这样搜索出没结果 当然后面也就全都跟着不对了.
      

  5.   


    仔细看了看 SQL这么写应该也没问题.那么问题应该是POST过来的两个值是否正常了
      $user=$_POST['name'];
    $pwd=$_POST['pwd']; 
      

  6.   

    可能原因是Session的命名跟数据库的字段名一样,你修改一下session的名称,看看可不可以。
      

  7.   

    各位大哥还是不行!!!
    首先 SQL 没问题!在第一页的 $_SESSION["username"]=$user;没问题已经赋了值!在第一页能输出出来!!但在第二页还是不行!输出不出来!!是不是我那里配置错误啊!session 一直不能传参...........
      

  8.   

    呜呜!!!弄明白了!浏览器不支持cookies............
      

  9.   

    请开启你的COOKIES,因为PHP会将SESSIONID通过COOKIES传递到服务器。如果你的COOKIES没有开启,也可以通过SESSIONID GET传值过去,如:a.php<?php
    session_start();
    $_SESSION['dd']='这是一个小小的测试';
    ?>
    <a href="b.php?sessionid=<?php echo session_id()?>">地址栏传参SESSIONID</a>
    b.php<?php
    session_start();
    session_id($_GET['sessionid']);
    echo $_SESSION['dd'];
    ?>