1、ajax對於php是很是實用的一種方法,那麼在thinkphp框架中ajax是否是同樣好用呢?答案是確定的。thinkphp針對ajax也有本身獨特的用法:php
首先咱們在本身建的Admin文件下創建一個Index文件夾,而後在這個文件夾裏邊建一個ceshi.html文件,要用ajax就要用到jquery文件,因此咱們要將jquery文件複製到Public文件夾下進行調用:html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> <script src="__ROOT__/Public/js/jquery-3.2.0.min.js">//調用jquery</script> </head> <body> <select id ="leibie"> </select> </body> <script> $.ajax({ url:"__CONTROLLER__/shuju", dataType:"JSON", success:function(data){ var str = ""; for( var k in data){ str = str+"<option value='"+data[k].lbid+"'>"+data[k].lbname+"</option>"; } $("#leibie").html(str); } }) </script> </html>
而後咱們在Controller文件夾內新建一個IndexController.class.php的文件,在裏邊添加ceshi方法和shuju方法:jquery
<?php namespace Admin\Controller; use Think\Controller; class IndexController extends Controller{ public function index(){ echo "歡迎使用Thinkphp"; } public function ceshi(){ $this->show(); } public function shuju(){ $n = M("leibie");//建立leibie表模型 $arr = $n->select(); $this->ajaxReturn($arr);//調該方法返回數據 } }
看一下結果:ajax
這就是thinkphp中ajax的用法,很是方便實用。thinkphp
2、session在thinkphp中的使用,用於驗證用戶是否登陸:php框架
在thinkphp中session不用手動開啓,默認就是開啓的:session
首先在Cotroller文件夾內建一個LoginController.class.php框架
<?php namespace Home\Controller; use Think\Controller; class LoginController extends Controller{ public function login(){ if(empty($_POST)){ $this->show(); } else{ $uid = $_POST["uid"]; $pwd = $_POST["pwd"]; $n=M("users"); $arr = $n->find($uid); if($arr["pwd"]==$pwd && !empty($pwd)){//驗證密碼 session("uid","$uid"); } else{ echo "登陸失敗"; } } } }
而後在View文件夾下新建一個login.html:post
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> <script src="__ROOT__/Public/js/jquery-3.2.0.min.js"></script> </head> <body> <h1>登陸頁面</h1> <form action="__ACTION__" method="post"> <div>用戶名:<input type="text" name="uid"></div> <div>密碼:<input type="password" name="pwd"></div> <input type="submit" value="登陸"> </form> </body> </html>
而後最關鍵的是須要創建一個父類BaseController.class.php:ui
<?php namespace Home\Controller; use Think\Controller; class BaseController extends Controller{ public function __construct(){ //調用父類構造 parent::__construct(); //寫session控制 if(session("?uid")){ }else{ $this->redirect("Login/login"); } } }
而後咱們其餘全部的控制器都繼承新建的這個BaseController就能夠了:
<?php namespace Admin\Controller; use Home\Controller\BaseController; class IndexController extends BaseController{ public function index(){ echo "歡迎使用Thinkphp"; } public function ceshi(){ $this->show(); } public function shuju(){ $n = M("leibie");//建立leibie表模型 $arr = $n->select(); $this->ajaxReturn($arr);//調該方法返回數據,若是是字符串,後邊加eval } }