ThinkPHP框架:补充知识
一、数据取值方式
1.写一个方法,来进行数据的传值差别:正常的GET方式取值
public function testget()
{
echo $_GET["name"];
}
在浏览器的地址栏地址中输入:
(1)后面是:?名称="值"
1.没有传值的话是空
http://localhost/tp/index.php/Home/Home/testget
输出就是空的:

2.有值的传值
http://localhost/tp/index.php/Home/Home/testget?name=%22%E4%BD%A0%E5%A5%BD%22
这样就会输出:你好

(2)后面是路径的方式:/名称/值
地址栏中输入:
http://localhost/tp/index.php/Home/Home/testget/name/qqqqqq
输出结果

注意:传多值就是/名字/值/名字/值
2.给方法赋值的方式取值
public function testget($code)
{
echo $code;
}
二、session方法和cookie方法
(1)session方法
1.默认情况下,初始化之后系统会自动启动session,如果不希望系统自动启动session的话,可以设置SESSION_AUTO_START为false,例如:
'SESSION_AUTO_START' =>false
关闭自动启动后可以项目的公共文件或者在控制器中通过手动调用session_start或者session('[start]')启动session。
2.session赋值
session('name','value'); //设置session
3.session判断
// 判断名称为name的session值是否已经设置
session('?name');
4.session管理
session('[pause]'); // 暂停session写入
session('[start]'); // 启动session
session('[destroy]'); // 销毁session
session('[regenerate]'); // 重新生成session id
(2)cookie方法
Cookie设置
cookie('name','value'); //设置cookie
cookie('name','value',3600); // 指定cookie保存时间
三、模板(三元运算)
模板可以支持三元运算符
{$status?'正常':'错误'}
{$info['status']?$info['msg']:$info['error']}
注意:三元运算符中暂时不支持点语法。
四、AJAX返回
要使用ajax就要引用jQuery了,我们把jQuery拿进来
(1)我放到了Public文件夹下,新建一个js文件夹下

(2)然后就是在显示的页面调出这个js文件
<script src="__PUBLIC__/js/jquery-1.11.2.min.js"></script>
(3)看下这个文件是不是引入了
在浏览器的地址栏中输入:http://localhost/tp/index.php/Home/Home/shouye
查看源代码查看是不是引入了

点开之后要是能够出现就是引入成功了
(4)在控制器中写一个方法chuli,让ajax返回这个方法
public function chuli()
{
}
(5)写ajax
<script type="text/javascript">
$.ajax({
url:"__CONTROLLER__/chuli", //处理方法的
dataType:"TEXT",
success: function(data){
//成功之后的输出的信息
}
})
</script>
(6)在chuli方法页面就要写返回值了
public function chuli()
{
$this->ajaxReturn("hello","eval"); //返回的值,返回值的方式eval就是text方式
}
注意:如果是JSON/JSONP格式,会自动编码成JSON字符串,如果是XML方式,会自动编码成XML字符串,如果是EVAL方式的话,只会输出字符串data数据。
完整的显示页面的代码:
<script type="text/javascript">
$.ajax({
url:"__CONTROLLER__/chuli",
dataType:"TEXT",
success: function(data){
alert(data); //返回的信息
}
})
</script>
看下效果:

也可以是关联数组的数据
五、跳转和重定向
(1)页面跳转
使用方法很简单
$User = M('User'); //实例化User对象
$result = $User->add($data);
if($result){
//设置成功后跳转页面的地址,默认的返回页面是$_SERVER['HTTP_REFERER']
$this->success('新增成功', 'User/list');
}
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);。

浙公网安备 33010602011771号