Heim > php教程 > php手册 > Hauptteil

php实战第六天

WBOY
Freigeben: 2016-06-13 10:57:14
Original
1136 Leute haben es durchsucht

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

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];
    }

 

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage