求助,无法获取 session

我的目的是当玩家点了获取短信验证码按钮之后设置session,然后玩家最后点击注册,进行校验session里设置保存的短信验证码

这里是设置session的方法

就为什么一下能获取到 一下又获取不到
这是 打印到日志的 session
这里第一个打印的是可以正常获取到session的
[2020-06-30 22:29:33] local.INFO: array (
‘_token’ => ‘dfxClf16nOa24q37sdgGGvv1IgJ’,
‘_previous’ =>
‘milkcaptcha’ => ‘7394’,
‘PHPDEBUGBAR_STACK_DATA’ =>
array (
),
‘hahaha’ => 1111,
‘mobile’ => ‘15811111111’,
‘mobile_code’ => ‘7394’,
‘sms_send_time’ => ‘2020-06-30 22:29:33’,
‘sms_send_num’ => 1,
)
//这是第二次打印日志 就获取不到了
[2020-06-30 22:29:42] local.INFO: array (
‘_token’ => ‘dfxClf16nOa24q37sdgGGvv1IgJ’,
‘_previous’ =>
array (
‘milkcaptcha’ => ‘7394’,
‘PHPDEBUGBAR_STACK_DATA’ =>
array (
),
‘hahaha’ => 1111,
)

求大神求助

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 8

你是提供接口给app调用的吗?app端是没有cookie的,所以session可以认为无效。你可以把验证码存数据库或者redis,甚至可以缓存在文件中。

3年前 评论
翟宇鑫

客户端就别用 session 来传递数据了

3年前 评论

我就吐槽一下,代码里还有 $_GET$_POSTdie()exit() 。。。

另外不应该先使用 isset() 判断是否存在值,然后再判断里面的值是否相等吗 。。。

一个方法里面写两个功能不好吧 。。。

不使用 dd() 查看变量数据,而使用 log 未免太麻烦了吧 。。。

返回响应不使用 return 而使用 exit() 。。。

这是一位强迫症的无故吐槽,如果您必须这样写的话请见谅。

3年前 评论
AegisforPhP (楼主) 3年前
yxuefeng (作者) 3年前

如果你使用的是 web.php ,查看 app/Http/Kernel.php 文件有没有缺少下图圈中的代码,如果使用的是 api.php ,按下图添加圈中的代码。

file

下图是我使用 api.php 路由测试成功的例子:

file

所以如果没有更改过 laravel 框架代码的话,不会出现获取 session 失败的情况,使用浏览器请求的时候。

3年前 评论
老李 3年前
AegisforPhP (楼主) 3年前
AegisforPhP (楼主) 3年前
yxuefeng (作者) 3年前

Lar 最后才会写入 session

die 停止了后面的代码, (写入 session等)

别用exit,dd等函数停止, 使用 return,让后续代码执行。

Session::save() 执行写入session

3年前 评论

短信验证码一般都是用cache,设置过期时间的

3年前 评论

难道是 tp 老版本的写法习惯?

3年前 评论
AegisforPhP (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!