Rumah > php教程 > php手册 > teks badan

php实战第六天

WBOY
Lepaskan: 2016-06-13 10:57:14
asal
1135 orang telah melayarinya

今天学习了做后台页面,很失败就不展示了。

php方面:以下代码可以屏蔽php注意级别的错误,即 抛出任何非注意错误


[php]  error_reporting(E_ALL&~E_NOTICE); 

error_reporting(E_ALL&~E_NOTICE);
开启session的方法,开启后就可以使用$_SESION咯。

session是保存在服务端的东西噢。启动后会给 浏览器发送一个 session的ID,是cookies方式的

[php]  session_start(); 

session_start();
如果浏览器禁用了cookies那也不要紧,可以把session写到URL里就好咯.嘿嘿

[php]  session_name.'='.session_id() 

session_name.'='.session_id() 附上我写好的 adminAction,只有登陆功能哦


[php]     /**
     * 
     **/ 
    class adminAction extends Action 
    { 
        protected $db=''; 
        function __construct() 
        { 
            // code...  
            // //$smarty->force_compile = true;  
            /*$this->db = new MySQL("127.0.0.1","root","1234","myly","data");
            $this->db->table('data');*/ 
            $this->db = MySQL::getClass(); 
            //var_dump($this->db);  
            $this->db -> connect("127.0.0.1","root","1234","myly"); 
 
            $this->db -> table('user'); 
 
            parent::__construct(); 
        } 
 
        public function index() 
        { 
            if($this->is_login()){ 
                echo "<script>window.location.href=&#39;admin.php?m=admin&a=admin&#39;;</script>"; 
            }else{ 
                echo "<script>window.location.href=&#39;admin.php?m=admin&a=login&#39;;</script>"; 
            } 
        } 
 
        private function is_login() 
        { 
            return $_SESSION['login']; 
 
        } 
 
        public function login() 
        { 
            if (!empty($_POST['userName']) && !empty($_POST['password'])) { 
                $userName=$_POST['userName']; 
                $password=md5($_POST['password']); 
                /*var_dumP($_POST);
                var_dump($password);
                var_dump($password);*/ 
                if($_SESSION['userData']=$this->db->where("userName='{$userName}' and password='{$password}'")->fine()){ 
                    echo "<script>window.location.href=&#39;admin.php?m=admin&a=admin&#39;;</script>"; 
                    $_SESSION['login']=true; 
                     
                }else{ 
 
                    echo "登录失败"; 
                } 
            } 
 
            $this->display(); 
        } 
 
        public function ulogin() 
        { 
            echo "<script>window.location.href=&#39;admin.php?m=admin&a=login&#39;;</script>"; 
            unset($_SESSION); 
        } 
 
        public function admin() 
        { 
            if(!$this->is_login()){ 
                echo "<script>window.location.href=&#39;admin.php?m=admin&a=login&#39;;</script>"; 
            } 
            //var_dump($_SESSION);  
            $this->assign('userName',$_SESSION['userData']['userName']); 
            $this->display(); 
        } 
 
        function add(){ 
            /*var_dump($this->db
                ->data(
                    array('userName' => 'admin',
                          'password' => md5('admin'),
                          'time'     => time()
                ))
                ->add());
                */ 
        } 
         
    } 
?> 

 /**
  *
  **/
 class adminAction extends Action
 {
  protected $db='';
  function __construct()
  {
   // code...
   // //$smarty->force_compile = true;
   /*$this->db = new MySQL("127.0.0.1","root","1234","myly","data");
   $this->db->table('data');*/
   $this->db = MySQL::getClass();
   //var_dump($this->db);
   $this->db -> connect("127.0.0.1","root","1234","myly");

   $this->db -> table('user');

   parent::__construct();
  }

  public function index()
  {
   if($this->is_login()){
    echo "<script>window.location.href=&#39;admin.php?m=admin&a=admin&#39;;</script>";
   }else{
    echo "<script>window.location.href=&#39;admin.php?m=admin&a=login&#39;;</script>";
   }
  }

  private function is_login()
  {
   return $_SESSION['login'];

  }

  public function login()
  {
   if (!empty($_POST['userName']) && !empty($_POST['password'])) {
    $userName=$_POST['userName'];
    $password=md5($_POST['password']);
    /*var_dumP($_POST);
    var_dump($password);
    var_dump($password);*/
    if($_SESSION['userData']=$this->db->where("userName='{$userName}' and password='{$password}'")->fine()){
     echo "<script>window.location.href=&#39;admin.php?m=admin&a=admin&#39;;</script>";
     $_SESSION['login']=true;
     
    }else{

     echo "登录失败";
    }
   }

   $this->display();
  }

  public function ulogin()
  {
   echo "<script>window.location.href=&#39;admin.php?m=admin&a=login&#39;;</script>";
   unset($_SESSION);
  }

  public function admin()
  {
   if(!$this->is_login()){
    echo "<script>window.location.href=&#39;admin.php?m=admin&a=login&#39;;</script>";
   }
   //var_dump($_SESSION);
   $this->assign('userName',$_SESSION['userData']['userName']);
   $this->display();
  }

  function add(){
   /*var_dump($this->db
    ->data(
     array('userName' => 'admin',
        'password' => md5('admin'),
        'time'     => time()
    ))
    ->add());
    */
  }
  
 }
?>
提交表单用的 login.html
[html]  

 
    瀑布流留言板 后台登陆 
 
 
   
 
         
         
         
   
 
 
 



 瀑布流留言板 后台登陆


 

  
  
  
 


登陆成功后用的 admin.html


[html]   

 
    欢迎  
 
 
 
 
 



 欢迎



这个就是我的登陆功能了。

 


修改了 mysql.class.php 加了一个函数 fine,这样返回的数组就是 一维的咯,方便些


[php] /**
 +----------------------------------------------------------
 * 获取数据表的单条记录,返回一维数组
 +----------------------------------------------------------
 * @access public
 +----------------------------------------------------------
 * @param 
 +----------------------------------------------------------
 */ 
public function fine(){ 
    $select_sql = 'select '; 
    $fields = isset($this->query_list['fields'])?$this->query_list['fields']:'*'; 
    $select_sql.=$fields; 
    $select_sql.= ' from `'.$this->query_list['table'].'` '; 
     
    isset($this->query_list['join'])?($select_sql.=$this->query_list['join']):''; 
    isset($this->query_list['where'])?($select_sql.=' where '.$this->query_list['where']):''; 
    isset($this->query_list['group'])?($select_sql.=' group by'.$this->query_list['group']):''; 
    isset($this->query_list['having'])?($select_sql.=' mysql having '.$this->query_list['having']):''; 
    isset($this->query_list['order'])?($select_sql.=' order by '.$this->query_list['order']):''; 
    isset($this->query_list['limit'])?($select_sql.=' 1,1'):''; 
    //echo '
----->'.$select_sql.'';  
    return $this->query($select_sql)[0]; 

    /**
     +----------------------------------------------------------
     * 获取数据表的单条记录,返回一维数组
     +----------------------------------------------------------
     * @access public
     +----------------------------------------------------------
     * @param
     +----------------------------------------------------------
     */
    public function fine(){
        $select_sql = 'select ';
        $fields = isset($this->query_list['fields'])?$this->query_list['fields']:'*';
        $select_sql.=$fields;
        $select_sql.= ' from `'.$this->query_list['table'].'` ';
       
        isset($this->query_list['join'])?($select_sql.=$this->query_list['join']):'';
        isset($this->query_list['where'])?($select_sql.=' where '.$this->query_list['where']):'';
        isset($this->query_list['group'])?($select_sql.=' group by'.$this->query_list['group']):'';
        isset($this->query_list['having'])?($select_sql.=' mysql having '.$this->query_list['having']):'';
        isset($this->query_list['order'])?($select_sql.=' order by '.$this->query_list['order']):'';
        isset($this->query_list['limit'])?($select_sql.=' 1,1'):'';
        //echo '
----->'.$select_sql.'';
        return $this->query($select_sql)[0];
    }

 

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan