国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

thinkPHP跳轉方法及重定向

2019-11-08 02:57:56
字體:
來源:轉載
供稿:網友

在thinkphp中,跳轉頁面的實現由success和error方法實現,操作成功時用success方法,失敗則使用error方法。且他們兩者均支持Ajax提交。 使用方法舉例:

$User = M('User');//實例化User對象$result = $User->add($data);if($result){ //條件成立時跳轉 $this->success('操作成功','/User/index');}else{ //條件不成立時的跳轉 $this->error('操作失敗');}

success、error方法

他們分別有三個參數,第一個參數代表提示信息,第二個參數表示跳轉地址,第三個參數是跳轉是件(單位:秒),例:

//操作完成3秒后跳轉到/Article/index$this->success('操作成功','/Article/index',3);//操作失敗5秒后跳轉到/Article/error$this->error('操作失敗','/Article/error',5);

注:跳轉地址是可選參數,success方法默認的跳轉地址是$_SERVER[‘HTTP_REFERER’],error方法的默認跳轉地址是javascript:history.back(-1); 跳轉時間也是可選的,默認success方法是1s,error方法是3s。

重定向

Controller類的redirect方法可以實現頁面的重定向功能。 redirect方法的參數用法和U函數的用法一直,例:

//重定向到New模塊的Category操作$this->redirect("New/category',array('cate_id'=>2),5,'頁面跳轉中...');

說明:上面的用法表示5秒后跳轉到New模塊的category操作,并且顯示‘頁面跳轉中…’字樣,重定向后會改變當前的額URL地址。 如果僅僅是想重定向到一個指定的URL地址而不是到某個模塊的操作方法,可以直接時用下面的額redirect函數重定向:

//重定向到指定的URL地址redirect('/New/category/cate_id/2',5,'頁面跳轉中...');

redirect函數的第一個參數是URL地址。 注:redirect方法和redirct函數的區別在于前者是用URL規則定義跳轉,后者是一個純粹的URL地址。 thinkPHP可以很好的支持AJAX請求,在系統的/Think/Controller提供了ajaxReturn方法泳衣AJAX調用后返回數據給客戶端。并且支持JSON、JSONP、xml和EVAL四種方式給客戶端接收數據,并且支持配置其他方式的數據格式返回。 ajaxReturn方法調用示例(返回單個數據):

$data = 'ok';$this->ajaxReturn($data);

ajaxReturn返回數組:

$data['status']=1;$data['content']='content';$this->ajaxReturn($data);

ajaxReturn默認配置采用JSON格式返回數據(通過配置DEFAULT_AJAX_RETURN進行設置),我們可以指定格式返回,例:

//指定XML格式返回數據$data['status']=1;$data['content']='content';$this->ajaxReturn($data,'xml');

獲取變量

I方法是thinkPHP用于更加方便和安全的獲取系統輸入變量,可以用于任何地方,格式:

I('變量類型.變量名/修飾符',['默認值' ], ['過濾方法或正則'], ['額外數據源']);

變量類型:指請求方式或者輸入類型,包括:

變量類型含義
get獲取GET參數
post獲取POST參數
param自動判斷請求類型獲取GET、POST、或者PUT參數
request獲取REQUEST參數
put獲取PUT參數
session獲取$_SESSION參數
cookie獲取$_COOKIE參數
server獲取$_SERVER參數
globals獲取$GLOBALS參數
path獲取PATHINFO模式的URL參數
data獲取其他類型的參數,需要配合額外數據源參數

注意:變量類型不區分大小寫,變量名則嚴格區分大小寫。默認值和過濾方法均屬于可選參數。 舉例說明:

echo I('get.id'); //相當于$_GET['id']echo I('get.id', 0); //I方法支持的默認值,即當get.id不存在的時候,返回默認值0echo I('get.name', '', 'htmlspecialchars'); //采用htmlspecialchars對$_GET['name']進行過濾,如果不存在則返回空字符串echo I('get.'); //直接獲取整個變量類型I('post.name', '', 'htmlspecialchars'); //采用htmlspecialchars方法對$_POST['name']進行過濾,如果不存在則返回空字符串I('session.user_id',0); //獲取$_SESSION['user_id'],不存在時返回默認值0I('cookie.'); //獲取整個$_COOKIE數組I('server.REQUET_METHOD'); //獲取$_SERVER['REQUEST_METHOD']

變量修飾符:

最新版本的I函數支持對變量使用修飾符功能,可以更方便的通過類型過濾變量,例子:

I('get.id/d'); //強制變量為整形I('get.ids/a'); //強制變量為數組類型

可以使用的修飾符包括:

修飾符作用
s強制轉換為字符串類型
d強制轉換為整型類型
b強制轉換為布爾類型
a強制轉換為數組類型
f強制轉換為浮點類型

過濾方法或正則:

如果沒有在調用函數的時候指定過濾算法的話,系統會采用默認的過濾機制(由DEFAULT_FILTER配置),事實上,該參數的默認設置是:

//系統默認的變量過濾機制'DEFAULT_FILTER' =>'htmlspecialchars

也就是說,I方法的所有獲取變量如果沒有設置變量過濾方法的話都會進行htmlspecialchars進行過濾,那么:

I('get.name'); //等同于htmlspecialchars($_GET['name']);

默認過濾機制也可以有多個值:

'DEFAULT_FILTER' =>'strip_tags,htmlspecialcars'

注:如果在使用I方法的時候指定過濾方法,那么就會忽略DEFAULT_FILTER的設置。 例:

//對$_POST['email']進行格式驗證,不符合要求時返回空字符串I('post.email', '', filter_validate_email);

過濾方法名稱必須是filter_list方法中的有效值(不同服務器環境可能有所不同),可能支持的值如下:

filter_intfilter_booleanfilter_validate_regexpfilter_validate_emailfilter_validate_ipfilter_stringfilter_strippedfilter_encodedfilter_special_charsfilter_unsafe_rawfilter_emailfilter_urlfilter_number_intfilter_number_floatfilter_magic_quotesfilter_callback

注:在一些特殊情況下,我們不希望進行任何過濾,可以將過濾方法值為空或false,此時系統就不會再進行任何形式的過濾了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 思南县| 左云县| 台湾省| 白朗县| 黄大仙区| 调兵山市| 和平县| 巴彦县| 贵州省| 武陟县| 新和县| 精河县| 介休市| 云和县| 卓尼县| 西畴县| 陇西县| 宜州市| 蚌埠市| 桃源县| 舟山市| 噶尔县| 永清县| 简阳市| 通州市| 江油市| 工布江达县| 丹东市| 凯里市| 于田县| 高碑店市| 宁津县| 徐闻县| 甘德县| 阜阳市| 搜索| 天台县| 广东省| 察雅县| 双江| 南昌市|