php 用户访问菜单页面,必须登录,判断用户是否登录

<pre name="code" class="python">#


本节课大纲:
一、空模块和空操作
	1、空操作
		function _empty($name){
			$this->show("$name 不存在 <a href='__APP__/Index/index'>返回首页</a>");
		}
	2.空模块
	class EmptyAction extends Action{
		function index(){
			$city=M('City');
			$arr=$city->select();
			$this->assign('list',$arr);
			$name=MODULE_NAME;
			$this->display("City:$name");
		}
	}
	
二、前置操作和后置操作
	1、前置操作: _before_操作名
	2、后置操作: _after_操作名



方法代码重用:


类:
<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
    public function index(){
	$city=M('city'); //返回Model实例
	//返回数组
	$arr=$city->select();
	//dump($arr);
	$this->assign('list',$arr);
	$this->display();
    }
	
	public function next(){
		$this->display();
	}
}


调用Index 控制器的index方法:



<?php
  class CityAction extends Action{
	  function bj(){
// new一个对象
		  $oi=new IndexAction();
// 调用对象的方法
		  $oi->index();
	  }
	  
	  function sh(){
	  $oi=new IndexAction();
		  $oi->index();
	  }
	  
	  function gz(){
	  $oi=new IndexAction();
		  $oi->index();
	  }
	  
	   function _empty($name){
			$this->show("$name 不存在 <a href='__APP__/Index/index'>返回首页</a>");
		}
  }

?>



   
 <!-- Login模块下的do_login处理 -->
 <form action="__URL__/do_login"  method='post'>

解析成:


<!-- Login模块下的do_login处理 -->
    <form action="/thinkphp3/index.php/Login/do_login"  method='post'>




///用户访问菜单页面,必须登录,判断用户是否登录
<?php
   class LoginAction extends Action{
	   function index(){
		   $this->display();
	   
   }
  public function do_login() {
	  $username=$_POST['username'];
	  $password=$_POST['password'];
	  $user=M('user');
	  $where['username']=$username;
	  $where['passord']=$password;
	  $c=$user->where($where)->count();
	  
	  if ($c>0){
		  //向SESSION里写数据
		  $_SESSION['username']=$username;
		  $this->redirect('Index/index');
	  }else{
       $this->error('用户不能登录');
	  }
	  
  }
   }
?>


<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
 </head>
 <body>
   
   <!-- Login模块下的do_login处理 -->
    <form action="__URL__/do_login"  method='post'>
	  用户名:<input type='text' name='username'/><br/>

	  密码:<input type='password' name='password'/><br/>

	  <input type='submit' value='登录'/>
      </form>
 </body>
</html>


<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
	public function _before_index(){
		//做判断,如果没有登录,跳转到登录页面
		if(!isset($_SESSION['username']) || $_SESSION['username']=='')
		{
			$this->redirect('Login/index');
		}
		
		
		
	}
    public function index(){
	$city=M('city'); //返回Model实例
	//返回数组
	$arr=$city->select();
	//dump($arr);
	$this->assign('list',$arr);
	$this->display();
    }
	
	public function next(){
		$this->display();
	}
}



   

posted @ 2016-04-28 17:28  czcb  阅读(514)  评论(0编辑  收藏  举报