session是针对于具体的窗口的,你另外开一个窗口就行了

解决方案 »

  1.   

    而且session_register("User_Name")无论给什么值,在其他页面中输出都为1.这是为什么啊。而且我把机器重启了,可是在没有登录时也可以登录经过验证才能上去的页面。也就是说我输出session_register("User_Name")的值仍为1.快帮我吧
      

  2.   

    你的写法有问题
    改成下面的
    这验证登录页面。
    <?
     session_start();
     require("conn.php");
     
    $sql_count = "SELECT * from User_Info where User_Name='" .$User_Name. "' and Password='" .$Password. "'";
    $Result=mssql_query($sql_count); 
    $User=mssql_fetch_array($Result);if(empty($User))
      {
       echo "<center><h2>用户名或密码不正确</h2>";
       echo "<a href='javascript:history.go(-1);'>";
       echo "请重新登录或注册!<br></center>";
       exit;
      }
    else
      {
       //注册一个Session变量User_Name,保存当前用户的用户名
       $_SESSION["User_Name"]=$User_Name;
      }
    require("index.php");    
    require("disconn.php");
    ?>这是登录其他页面验证是否登录
    <?
    session_start();
    if (!isset($_SESSION["User_Name"]))
       {
        echo "您没有登录!<br>";
        echo "<a href='../Index.php'>";
        echo "请重新登录或注册!<br></center>";
        exit;
       }
    ?>
      

  3.   

    还有你的User_Name和Password是哪里来的?
    如果是表单POST过来的请改成$_POST["User_name"]和$_POST["Password"]
      

  4.   

    如果变量提交时是get就用$_GET[],如果是post方法就用$_POST[]
      

  5.   

    session_register("User_Name")我只看到你session register了一个变量是User_Name验证页中应该先验证有没有注册变量if(session_is_register("User_Name");怎么验证页又直接
    $User_Name=session_register("User_Name");呢验证页应该起码这样写!
    <?php
    session_start();if (session_is_register("User_Name");
    else
       {
        echo "您没有登录!<br>";
        echo "<a href='../Index.php'>";
        echo "请重新登录或注册!<br></center>";
        exit;
       }?>
      

  6.   

    User_Name和Password是通过表单post过来的。
    我把程序改如下:
    验证登录
    <?
     session_start();
     require("conn.php");$sql_count = "SELECT * from User_Info where User_Name='" .$User_Name. "' and Password='" .$Password. "'";
    $Result=mssql_query($sql_count); 
    $User=mssql_fetch_array($Result);if(empty($User))
      {
       echo "<center><h2>用户名或密码不正确</h2>";
       echo "<a href='javascript:history.go(-1);'>";
       echo "请重新登录或注册!<br></center>";
       exit;
      }
    else
      {
       //注册一个Session变量User_Name,保存当前用户的用户名
       $_POST["User_name"]=$User_Name;
       echo $_POST["User_name"];
      }
    require("index.php");    
    require("disconn.php");
    ?>在其他页面内验证是否登录:<?
    session_start();
    $User_Name=$_POST["User_name"];
    echo $_POST["User_name"];
     
    if (!isset($User_Name))
       {
        echo "您没有登录!<br>";
        echo "<a href='../Index.php'>";
        echo "请重新登录或注册!<br></center>";
        exit;
       }
    ?>
    可是在登录后在其他页面$_POST["User_name"]没有传递过来。快帮忙。谢谢!!!!
      

  7.   

    注册session变量用$_SESSION["var"],不是$_POST["var"],$_POST["var"]是表单提交的变量,$_GET["var"]是地址栏取得的变量
      

  8.   

    <?
     session_start();
     require("conn.php");$sql_count = "SELECT * from User_Info where User_Name='" .$_POST['User_Name']. "' and Password='" .$_POST['Password']. "'";
    $Result=mssql_query($sql_count); 
    $User=mssql_fetch_array($Result);if(empty($User))
      {
       echo "<center><h2>用户名或密码不正确</h2>";
       echo "<a href='javascript:history.go(-1);'>";
       echo "请重新登录或注册!<br></center>";
       exit;
      }
    else
      {
       //注册一个Session变量User_Name,保存当前用户的用户名
       session_register("User_name") = $_POST["User_name"];
      // echo $_SESSION["User_name"];
      }
    require("index.php");    
    require("disconn.php");
    ?>在其他页面内验证是否登录:
    <?
    session_start();
     
    if (!isset($_SESSION['User_Name']))
       {
        echo "您没有登录!<br>";
        echo "<a href='../Index.php'>";
        echo "请重新登录或注册!<br></center>";
        exit;
       }
    ?>
      

  9.   

    还是不行,显示如下 错误。
    Parse error: parse error, unexpected '=' in D:\han\Web\Check_Login.php on line 23
    既行session_register("User_name") = $_POST["User_name"];
    我把等式右侧改成其"aa"也不行
      

  10.   

    我写的程序里面都是单引号
    好象是php.ini的配置有关系
    把这种类似的全改成单引号看看!session_register('User_name') = $_POST['User_name'];