问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

thinkphp中怎么在view给session赋值

发布网友 发布时间:2022-05-27 13:33

我来回答

1个回答

热心网友 时间:2023-10-25 17:37

具体看代码;

class ArticlelModel extends Model {

protected $_auto = array (
array('addtime','time',1,'function'),
array('username','getName',1,'callback')
);

//这个函数获取session里的name值
protected function getName(){
return $_SESSION["name"];
}
}

这里需要注意最后一个参数function和callback的区别;
function:使用函数,会自动去Common/common.php去寻找对应的函数;
callback:使用在当前模型中定义的回调方法

Session 用于Session 设置、获取、删除和管理操作

用法
session($name, $value='')

参数
name(必须):如果传入数组 则表示进行session初始化,如果传入null表示清空当前session,如果是字符串则表示session赋值、获取或者操作。

Value(可选):要设置的session值,如果传入null表示删除session,默认为空字符串

返回值
见详(根据具体的用法返回不同的值)

session函数是一个多元化操作函数,传入不同的参数调用可以完成不同的功能操作,包括下面一些功能。[-more-]
session初始化设置
如果session方法的name参数传入数组则表示进行session初始化设置,例如:
session(array('name'=>'session_id','expire'=>3600));

支持传入的session参数包括:

参数名

说明

id
session_id值

name
session_name 值

path
session_save_path 值

prefix
session 本地化空间前缀

expire
session.gc_maxlifetime 设置值

domain
session.cookie_domain 设置值

use_cookies
session.use_cookies 设置值

use_trans_sid
session.use_trans_sid 设置值

cache_limiter
session_cache_limiter设置值

cache_expire
session_cache_expire设置值

type
session hander类型,可以使用hander驱动扩展

Session初始化设置方法 无需手动调用,在App类的初始化工作结束后会自动调用,通常项目只需要配置SESSION_OPTIONS参数即可,SESSION_OPTIONS参数的设置是一个数组,支持的索引名和前面的session初始化参数相同。

默认情况下,初始化之后系统会自动启动session,如果不希望系统自动启动session的话,可以设置SESSION_AUTO_START为false,例如:

'SESSION_AUTO_START' =>false

关闭自动启动后可以项目的公共文件或者在控制器中通过手动调用session_start或者session('[start]') 启动session。
session赋值
Session赋值比较简单,直接使用:

session('name','value'); //设置session

相当于:

$_SESSION['name'] = 'value';

session取值

Session取值使用:
$value = session('name');

相当于使用:
$value = $_SESSION['name'];

session删除

session('name',null); // 删除name

相当于:
unset($_SESSION['name']);

要删除所有的session,可以使用:
session(null); // 清空当前的session

相当于:
$_SESSION = array();

session判断
要判断一个session值是否已经设置,可以使用
session('?name');

用于判断名称为name的session值是否已经设置
相当于:
isset($_SESSION['name']);

session管理
session方法支持一些简单的session管理操作,用法如下:
session('[操作名]');

支持的操作名包括:

操作名

含义

start
启动session

pause
暂停session写入

destroy
销毁session

regenerate
重新生成session id

使用示例如下:
session('[pause]'); // 暂停session写入
session('[start]'); // 启动session
session('[destroy]'); // 销毁session
session('[regenerate]'); // 重新生成session id
本地化支持

如果在初始化session设置的时候传入prefix参数或者单独设置了SESSION_PREFIX参数的话,就可以启用本地化session管理支持。启动本地化session后,所有的赋值、取值、删除以及判断操作都会自动支持本地化session。

本地化session支持开启后,生成的session数据格式由原来的
$_SESSION['name'] 变成 $_SESSION['前缀']['name']

假设前缀设置为think,则赋值操作:
session('name','value'); //设置session

相当于:
$_SESSION['think']['name'] = 'value';

取值操作:
$value = session('name');

相当于使用:
$value = $_SESSION['think']['name'];

删除操作:
session('name',null);

相当于:
unset($_SESSION['think']['name']);

清空操作:
session(null);

相当于:
unset($_SESSION['think']);

判断操作:
session('?name');

相当于:
isset($_SESSION['think']['name']);
thinkphp session保存或读取不了!!

首先不知道你用的是什么服务器。我是在linux上面的nginx做环境的。session保存不了,跟你的sessoin.save_path后面的路径权限和文件夹是否新建也有关系。新建这个文件夹,并授权这个问题就解决了。跨页的session访问不了可以设置use_trans_sid为1。其他的比如thinkphp配置造成的百度上有。

thinkphp session获取问题

cache_limiter session_cache_limiter设置值 cache_expire session_cache_expire设置值 type session hander类型,可以使用hander驱动扩展 Session初始化设置方法 无需手动调用,在App类的初始化工作结束后会自动调用,通常项目只需要配置SESSION_OPTIONS参数即可,SESSION_OPTIONS参数的设置是一个数组,支...

求thinkphp高手帮忙解答一个关于session的问题

1,回看代码,看session_start之前是否有输出.2,如果确认第一步没问题,那就可能是BOM头惹的祸了.下载个去BOM头小工具.一次把所有的代码去一次BOM头.这样,问题应该可以解决了.3,如果还是不行,那只有出狠招了.修改PHP.ini配置.把你之前的代码用替换一次把所有的session_start去掉.然后在php...

thinkphp怎么做用户操作日志的功能

username(session值的当前操作者) $method(你操作的方法)$something(某一些动作)$time(当前的时间) $status(是否成功)那每次当你进行操作的时候成功的时候加载一次:$username $method $something $time $status(比如1) //意思就是某某使用什么方法在什么时间做了些什么失败时候也是:$username $method $...

为什么我ThinkPHP中做登录代码时无法使用Session

tp默认session是始终打开的,所以你不用session_start();了,直接使用session就可以了。

thinkphp做的两套程序的session是共享的,怎么解决

在thinkphp5.0以上版本中,支持指定 Session 驱动,也就是把session存到一个共用的redis数据库中。配置文件如下:'session' => ['prefix' => 'module','type' => 'redis','auto_start' => true,// redis主机 'host' => '127.0.0.1',// redis端口 'port' => 6379,// ...

关于thinkphp 的 session 丢失问题 我很头疼

PHP的SESSION是有前缀的,你设置了前缀了吗? 如果使用PHP自带的方法,需要把前缀手动写上去,这样使用TP自带的才能拿的到!

thinkphp如何在模板页如何判断cookie是否存在

lang.var} 等效 {.var} //输出GET变量 和 {$Think.get.var} 等效 {^var} //输出POST变量 和{$Think.post.var} 等效 {*var} //输出常量和 {$Think.const.var} 等效 如果需要输出二维数组,例如 要输出$_SESSION[‘var1’][‘var2’]的值 快捷输出可以使用:{@var1.var2} 的方式 ...

thinkphp POST的传值问题

我用ThinkPHP做登录页面.登陆页面提交表单到action="__APP__/Index/login_do" ,然后我在IndexAction类里面写了login_do函数:public function login_do(){ if($_SESSION['verify'] != md5($_POST['userauthcode'])){ this->error('验证码错误!');} username=$_POST['username'];password=$...

thinkphp怎么取出session数据

控制器获取:$_SESSION['name']模版获取:{$Think.session.name}

thinkphp swoole cookie session cookie和session详解 thinkphp怎么用 怎么创建session sessionStorage plenary session redis session thinkphp和laravel
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
珍珠粉可以天天敷脸吗 教你自制珍珠粉面膜 中超什么时候成立 交通刷卡金是什么 哪吒V上市进入倒计时,车身超4米,轴距为2420mm,续航里程401km. 关于倩女幽魂爆鬼问题 倩女幽魂什么是大宝队 关于倩女幽魂爆鬼分红的问题 泰国绿咖喱中的咖喱酱是如何制作的,它的独特口味来源于哪些香料?_百度... 好看电视剧,推荐个,现代都市剧,古装剧,战争爱情剧都可以,要经典,确确 ... 去北京上大学转户口好不好 关于plus/view.php 问题? thinkphp在view层怎么做加法 在view文件夹下面的php文件怎么调用D方法 为什么view界面里还是要写php代码 天正cad和auto cad怎么将总平面图里的坐标设置正确 CAD图怎么显示11位数坐标 CAD导平面图坐标公式? cad总平面图中如何定坐标点 后背这段时间长了些灰色的斑点、以前没有过!是什么情况? 脸上身上都在开始冒黑斑,开始一小点灰色印子,慢慢颜色变深斑点扩大,这是怎么了,有什么药吃吗? 求研究生复试英语口语自我介绍,越多越好 英语表达(研究生复试急用!万分感谢您的帮助!) 考研英语复试口语 如何准备考研英语口语复试 蚂蚁借呗额度多长时间跳一次? 烟草云pos被停用怎么办 pos机长期不用现被停用,业务员联系不上,应如何解决,谢谢! 长时间不用pos机会怎么样? 手机pos注销后可以再让别人重新注册吗 刷卡机被银行停用了 还可以在办吗 为什么thinkphp的view文件夹里面html后缀的文件里面可以写php代码 thinkphp中view中怎样直接提取session中的值 php 在mvc模式中 在model层 如何取view层的 值 Thinkphp框架的View可以像laravel那样引用对象吗 thinkphp框架 查询到数据为什么遍历不到View里? php问题 model中从view里面通过post方法取到的值怎么传到controller里面? PHP网页显示内容是根据参数显示的。。什么思路? 小米手环怎么接和qq的信息 小米3连接数据QQ和微信无法使用 小米3手环怎么接 小米手环怎么与微信连接 接入微信设置操作方法 2021年新的婚姻法条离婚规定 精忠报国完整版歌词 鸭子,乌龟小金鱼,400字以上的作文傻子 精忠报国的歌词谁知道谢谢! 华为手机FRD一AL10后盖怎么打开? 华为KIW_AL10的后盖怎么打开? 绿豆芽从尾巴开始坏因为什么? 绿豆芽底部没事就最上面容易腐烂,怎么回事 绿豆芽弄断了还能生长吗?