我是菜鸟,现也在做一个PHP的过滤器,当有人在IE上任输入一个页面进行访问时,提示必须先登录才可访问,然后自动返回到登录页面,对于PHP我是新手,希望高手们给予帮助啊,先谢啦

解决方案 »

  1.   

    一般是基于session或cookie来实现的,通过判断是否有相应变量来处理。
      

  2.   

    php.ini 中 
    auto_prepend_file = "过滤器.php"
      

  3.   

    如果很多页面,这样一个个去判断是很繁琐的一件事啊,想请教下能否向JAVA中实现那样,写个专门的类,然后再在配制文件中进行配制就可以了,在整个程序中都有效啦
      

  4.   

    php.ini 中 
    auto_prepend_file = "过滤器.php"这个过滤器.php页面具体怎么写啊,还有到php.ini 中具体的配制是怎么实现呢,能否说详细点,如果能把源码发过来就更好啦,谢谢这位大侠,本人现在正急用呢。
      

  5.   


    在"过滤器.php" 中写下这样一行
    <?php
    if(没有登录-可用cookie或session验证) die("你没有登录,请登录");
    ?>
      

  6.   

    session_start();
    //如果你想他
    if($_SESSION[name]=='xxx'){
    header("Location:你的登陆网页地址");
    }else{
    die("恭喜啊,成功了");
    }
    其实如果密码和用户名都对,注册一个$_SESSION[name]=='xxx'给它,没有的话,就不给,自然就不能登陆了.做个php文件,包含在要想在设置权限的地方判断一下就行了.
      

  7.   

     /**
         * 验证用户是否登陆
         * @todo 需要实现
         */
        function auth(){
            if(isset($_SESSION[WEB_USER_SESSION_NAME])){
             $user =  $_SESSION[WEB_USER_SESSION_NAME];
                if($user->user_type == WEB_USER){
                    $this->login_user = $user;
                    return;
                }
            }
            redirect_lang(WEB_USER_PATH.'/user/logout');
        }
    不知道能不能帮你参考
      

  8.   

    这个方法请写在 你要进入的function最前面
      

  9.   

    在一个页面上定义一个函数,函数验证一下SESSION,如果不存在SESSION,则跳转!
      

  10.   

    办法有很多啊。你可以写在xml里面做为配置文件啊。写一个你配置的标准.再用PHP去解析配置文件,不麻烦把
      

  11.   

    <?php 
    if(没有登录-可用cookie或session验证) die("你没有登录,请登录"); 
    ?>
      

  12.   

    我是这样做的,写了一个专门的filterLogin.PHP,里面的内容是这样写的:
    <?php
       session_start();
      
       if($_SESSION["username"]=='' || $_SESSION["username"]==null)
       {
       echo"<script>alert('你没有登录,请先登录吧');window.location='login1.php';</script>";
       return ; }
    ?>然后我在每个页面
    直接include("filterLogin.PHP");效果是出来啦,但总会到页面上打印出警告信息,我不知这样做的是否正确,请帮我指点指点好吗?
      

  13.   

    能否举一个完整的例子,或者帮小弟指点指点一下,所做的,到底错在哪里???我是这样做的,写了一个专门的filterLogin.PHP,里面的内容是这样写的: 
    <?php 
      session_start(); 
      
      if($_SESSION["username"]=='' ¦ ¦ $_SESSION["username"]==null) 
      { 
      echo" <script>alert('你没有登录,请先登录吧');window.location='login1.php'; </script>"; 
      return ; } 
    ?> 然后我在每个页面 
    直接include("filterLogin.PHP");效果是出来啦,但总会到页面上打印出警告信息,我不知这样做的是否正确,请帮我指点指点好吗? 
      

  14.   

    咦,我的思路也是这样的,只是你说设置权限的地方判断一下就行了,我有点不明白,你那前面不是判断了吗?我是这样做的,写了一个专门的filterLogin.PHP,里面的内容是这样写的: 
    <?php 
      session_start(); 
      
      if($_SESSION["username"]=='' ¦ ¦ $_SESSION["username"]==null) 
      { 
      echo" <script>alert('你没有登录,请先登录吧');window.location='login1.php'; </script>"; 
      return ; } 
    ?> 然后我在每个页面 
    直接include("filterLogin.PHP");效果是出来啦,但总会到页面上打印出警告信息,我不知这样做的是否正确,请帮我指点指点好吗? 
     
     
     
      

  15.   

    <?php 
      session_start(); 
      
      if(!isset($_SESSION["username"]) || empty($_SESSION["username"])) 
      { 
      echo" <script>alert('你没有登录,请先登录吧');window.location='login1.php'; </script>"; 
      return ;

    ?>测试一下,看是否解决问题
      

  16.   

    可以让所有访问都通过同一个php通过访问路径判断调用哪一个页面(正常或者错误之类)例如类似于下面的地址:
    http://test/index.php/程序名1/程序名2/程序名3/程序名或者是魔板名.html
    http://test/index.php?mod=处理程序路径名&a=其他请求等
      

  17.   

    一般都拿session做
    如果全部都用过滤器的话效率不高
      

  18.   

    你说的是面向切面编程, 在java里面很容易实现,PHP好像也有filter了,不过我还没用过。
      

  19.   

    写一个检查 session 的页,然后 include 不就行了