ホームページ >バックエンド開発 >PHPチュートリアル >php実践6日目_PHPチュートリアル

php実践6日目_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-14 10:10:54880ブラウズ

今日はバックエンドページの作り方を学びました。失敗すると表示されなくなります。

PHP: 次のコードは、PHP アテンション レベル エラーをシールドできます。つまり、非アテンション エラーをスローします


[php] error_reporting(E_ALL&~E_NOTICE);

error_reporting(E_ALL&~E_NOTICE);

セッションを開く方法は、セッションを開いた後に $_SESION を使用できます。

セッションとはサーバー側に保存されるものです。起動後、セッションIDがCookieの形式でブラウザに送信されます

[php] session_start();

session_start();

ブラウザが Cookie を無効にしても、セッションを URL に書き込むだけで問題ありません。

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

session_name.'='.session_id() ログイン機能のみを持つ、私が書いたadminActionを添付します


[php]     /**
     *
     **/
    クラス adminAction はアクションを拡張します
    {
        保護された $db=''; 
        関数 __construct()
        {
            // コード...
            // //$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->テーブル('ユーザー'); 
 
            親::__construct(); 
        }
 
        パブリック関数インデックス()
        {
            if($this->is_login()){
                echo "<script>window.location.href='admin.php?m=admin&a=admin';</script>"; 
            }その他{
                echo "<script>window.location.href='admin.php?m=admin&a=login';</script>"; 
            }
        }
 
        プライベート関数 is_login()
        {
            $_SESSION['ログイン']を返します; 
 
        }
 
        パブリック関数login()
        {
            if (!empty($_POST['userName']) && !empty($_POST['password'])) {
                $userName=$_POST['userName']; 
                $password=md5($_POST['パスワード']); 
                /*var_dumP($_POST);
                var_dump($password);
                var_dump($password);*/
                if($_SESSION['userData']=$this->db->where("userName='{$userName}' およびパスワード='{$password}'")->fine()){
                    echo "<script>window.location.href='admin.php?m=admin&a=admin';</script>"; 
                    $_SESSION['ログイン']=true; 
                     
                }その他{
 
                    エコー「登录失败」; 
                }
            }
 
            $this->display(); 
        }
 
        パブリック関数 ulogin()
        {
            echo "<script>window.location.href='admin.php?m=admin&a=login';</script>"; 
            unset($_SESSION); 
        }
 
        パブリック関数 admin()
        {
            if(!$this->is_login()){
                echo "<script>window.location.href='admin.php?m=admin&a=login';</script>"; 
            }
            //var_dump($_SESSION);  
            $this->assign('userName',$_SESSION['userData']['userName']); 
            $this->display(); 
        }
 
        関数 add(){
            /*var_dump($this->db
                ->データ(
                    array('ユーザー名' => '管理者',
                          'パスワード' => md5('管理者')、
                          「時間」 =>時間()
                ))
                ->add());
                */
        }
         
    }
?> 

 /**
  *
  **/
 クラス adminAction は Action を拡張します
 {
  保護された $db='';
  関数__construct()
  {
   // コード...
   // //$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 ->テーブル('ユーザー');

親::__construct();
  }

パブリック関数インデックス()
  {
   if($this->is_login()){
    echo "<script>window.location.href='admin.php?m=admin&a=admin';</script>";
   }その他{
    echo "<script>window.location.href='admin.php?m=admin&a=login';</script>";
   }
  }

プライベート関数 is_login()
  {
   return $_SESSION['ログイン'];

}

パブリック関数login()
  {
   if (!empty($_POST['userName']) && !empty($_POST['password'])) {
    $userName=$_POST['userName'];
    $password=md5($_POST['パスワード']);
    /*var_dumP($_POST);
    var_dump($password);
    var_dump($password);*/
    if($_SESSION['userData']=$this->db->where("userName='{$userName}' およびパスワード='{$password}'")->fine()){
     echo "<script>window.location.href='admin.php?m=admin&a=admin';</script>";
     $_SESSION['ログイン']=true;
     
    }その他{

echo "登录失败";
    }
   }

$this->display();
  }

パブリック関数 ulogin()
  {
   echo "<script>window.location.href='admin.php?m=admin&a=login';</script>";
   unset($_SESSION);
  }

パブリック関数 admin()
  {
   if(!$this->is_login()){
    echo "<script>window.location.href='admin.php?m=admin&a=login';</script>";
   }
   //var_dump($_SESSION);
   $this->assign('userName',$_SESSION['userData']['userName']);
   $this->display();
  }

関数 add(){
   /*var_dump($this->db
    ->データ(
     array('ユーザー名' => '管理者',
        'パスワード' => md5('管理者')、
        「時間」 =>時間()
    ))
    ->add());
    */
  }
  
 }
?>
提交表専用のlogin.html
[html]  
 
    瀑布流留言板 后台登陆 
 
 
   

 
         
         
         
     
 
 


<頭>
 瀑布流留言板 后台登陆


 
  
  
  
 

登録成功後に使用されるadmin.html


[html]  
 
    欢迎 <{$userName}> 
 
 
 
 
 


<頭>
 欢迎 <{$userName}>



これは私たちの登録機能です。


mysql.class.php を修正しました。追加された関数は 1 つです。返される数は 1 つです。

[php] /**
+------------------------------------------------ ----------
* データテーブルの単一レコードを取得し、1 次元配列を返します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param
+------------------------------------------------ ----------
​*/
パブリック関数fine(){
    $select_sql = '選択'; 
    $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 を持つ '.$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]; 
}

/**

+------------------------------------------------ ----------
* データテーブルの単一レコードを取得し、1 次元配列を返します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param
+------------------------------------------------ ----------
​​*/
    パブリック関数fine(){
        $select_sql = '選択';
        $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 を持つ '.$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];
    }

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/477413.html技術記事今日はバックエンドページの作り方を学びましたが、失敗すると表示されなくなります。 PHP の側面: 次のコードは、PHP アテンション レベル エラーをシールドできます。つまり、アテンション以外のエラーをスローします [php] error_reporting(E_...
)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。