首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在Laravel 5.4中控制器不能重定向到正确的视图

在Laravel 5.4中,控制器不能直接重定向到正确的视图的原因可能有以下几个方面:

  1. 路由配置错误:在Laravel中,控制器的重定向通常是通过路由来实现的。如果路由配置错误,控制器就无法正确地重定向到对应的视图。可以检查路由文件(通常是web.php或api.php)中的路由配置,确保路由的路径和命名空间正确。
  2. 视图文件不存在:如果控制器重定向的视图文件不存在,Laravel将无法找到正确的视图进行渲染。可以检查视图文件的路径和命名是否正确,并确保视图文件存在于对应的目录中。
  3. 控制器逻辑错误:控制器中的逻辑错误也可能导致无法正确重定向到视图。可以检查控制器中的代码逻辑,确保重定向的逻辑正确,并且没有其他错误导致重定向失败。
  4. 缓存问题:有时候,Laravel的缓存机制可能会导致控制器无法正确重定向到视图。可以尝试清除缓存,使用以下命令清除缓存:php artisan cache:clear。

总结起来,控制器不能重定向到正确的视图可能是由于路由配置错误、视图文件不存在、控制器逻辑错误或缓存问题等原因导致的。可以逐一排查这些可能性,找出具体的问题所在,并进行相应的修复。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

laravel中间件内生成参数并且传递控制器2种姿势

mid_params']; $request- attributes- add($mid_params);//添加参数 return $next($request);//进行下一步(即传递给控制器...) } } class MidController extends Controller { //控制器 public function testMidFunc(Request $request)...my_params是传参,mid_params是中间件生成参 姿势2 使用request- merge(arr)方法 Demo: class MidParams //中间件 { public function...merge($mid_params);//合并参数 return $next($request); } } class MidController extends Controller { //控制器...merge后$request- input()能获取到所有的参数 以上这篇laravel中间件内生成参数并且传递控制器2种姿势就是小编分享给大家全部内容了,希望能给大家一个参考。

6.1K31

Laravel 5.0 之 表单验证类 (Form Requests)

我们可以控制器中进行验证, 可以单独一个服务层进行验证, 可以模型中进行验证, 当然还可以 Javascript 中进行验证 (这只是一个玩笑, 谁都知道不能只依赖于客户端验证)....当认证失败时返回自定义 HTTP 响应. // (框架默认行为是带着错误信息返回到起始页面) // 可以返回 Response 实例, 视图, 重定向或其它信息...这里有几个可以参考例子, 虽然还不能确定这些就是 "最佳实践": 采用分开 form requests Laravel 并没有规定你不能对 "新增" 和 "编辑" 操作采用不同 form request...: $redirect: 校验失败时要重定向 URI....$redirectRoute: 校验失败时要重定向路由. $redirectAction: 校验失败时要重定向方法.

3.8K50
  • Laravel5.2之Demo1——URL生成和存储

    ,直接返回视图,当然可以建个控制器php artisan make:controller UrlController,控制器里写个getUrl()方法返回视图,那路由就要这么写了:Route::get...4、保存数据进入数据库 写好视图表单后,再就是写表单提交路由及其控制器逻辑,控制器中引用创建好Link这个Model往links数据表里存数据。...实际上,控制器也就是路由层route、视图层view与模型model层黏合剂而已,一般写laravel代码流程也仅此而已:现在路由里写好路由,再建立好model(包括创建好migrations和model...::get()了,这是因为laravel会自动把这个变量和视图模板绑定,这errors是个特殊变量,form.blade.php视图中添加上验证错误信息代码。...6、从数据库中取出URL并且重定向 最后根据生成URL获取其hash部分,根据hash值从links数据表取出对应URL为了重定向,这里英文原文也是路由中写逻辑,这里也路由里写逻辑: Route

    24.1K31

    PHP 基于 Cookie + Session 实现用户认证功能

    中添加如下代码从而可以自动加载这个 helper.php 文件: "autoload": { "files": [ "app/helper.php" ], ... } 这样,我们控制器发送重定向响应时就无需编写一堆重复代码了...> 用户退出视图 用户退出通过一个模态框交互来完成,对应引用代码导航组件 nav.php 中: <div class="dropdown-menu dropdown-menu-right shadow...users 表中插入一条记录,然后<em>在</em> DashboardController <em>控制器</em><em>的</em>构造函数中新增如下代码: public function __construct() { parent::_...$this->session->has('auth_user')) { redirect('/login'); } } 表示如果用户没有登录<em>的</em>情况下访问博客后台,会<em>重定向</em><em>到</em>登录页面...确认退出后,页面会再次<em>重定向</em><em>到</em>登录页面,表示用户退出成功。 关于用户认证<em>的</em>部分,学院君就简单介绍<em>到</em>这里,下篇教程,我们来完善后台专辑、文章、消息<em>的</em>增删改查功能,从而构建博客系统前后端功能闭环。

    2.4K20

    Laravel6.2中用于用户登录新密码确认流程详解

    Laravel 中你可以轻松设置它,所以让我们来试用一下新功能,以便你可以更好了解它工作原理: 设置 首先,为了更直观了解这个新功能,我们创建一个新 Laravel 应用: laravel...): touch database/database.sqlite 我们已经创建好了 Laravel 使用 sqlite 驱动程序时所需默认配置文件,但是你仍然需要去更新.env 文件来确保数据库连接和路径正确...在这个 demo 中,我们 Settings 命名空间里面创建了一个控制器. 有了它,一旦登录,您将被重定向 /home 。...在那里,导航 /settings/ssh/create ,然后提示您输入密码: ? 如果按照本教程进行操作,请输入 secret ,提交表单,然后进入 create 视图。...非常感谢Dries Vints 为我们带来这个包含在 Laravel 6.2 版本中超赞新功能, 你可以通过 Pull Request #5129 了解更多关于中间件实现细节。

    2.5K31

    Laravel框架关键技术解析

    ,请求时为home-index RESTFul资源控制器路由:Route::resource('资源标识’,’控制器类名’); 3.视图 两种方式生成视图:直接返回字符串,使用view()方法返回视图响应...如果在布局模板文件中用@stop或@endsection结束这个区块,则视图文件将无法覆盖这个区块 @parent:用于显示继承布局模板中内容 @yield(‘区块文件’,'默认内容’):用于布局文件中定义一个区块...,默认内容不是必须 @include(‘子视图名称’):用于视图文件中加载子视图文件,使得视图文件结构清晰 六、Laravel框架中设计模式 A.服务容器 1.将服务理解为系统运行中需要东西,如对象...中对于响应生成三种形式 只生成响应主体内容部分 生成响应首部和主体部分 生成重定向响应,即只包含响应重定向首部 2.生成响应主体内容:return “字符串”或return view(‘xxx...’) 3.生成自定义响应实例:new Response()、response() 4.生成重定向响应:重定向响应是一个特殊响应,只是响应报文首部中包含了Location重定向字段,Laravel

    12K20

    Laravel 控制器:从 MVC 模式聊起

    MVC 模式中,M 代表模型(Model),V 代表视图(View),C 代表控制器(Controller),控制器负责组织路由和业务逻辑(当然,对于更加复杂业务逻辑还会引入 Service 层)...>description = $request->input('description'); $task->save(); return redirect('task'); // 重定向...Task 模型类,然后将用户重定向显示所有任务页面。... Laravel 中所有的控制器方法(包括构造函数)都会在服务容器中进行解析,这意味着所有方法中传入可以被容器解析接口/类型提示对应服务实现都会被自动注入,我们将这个过程称之为依赖注入。...5、资源控制器 有时候在编写控制器时命名方法名称可能是最困难,好在 Laravel 为常见 REST/CRUD 控制器 Laravel 中称之为「资源控制器」)提供了一套约定规则,并为此提供了相应

    11.3K51

    3分钟短文:Laravel“南天门”,过滤掉七七八八数据

    引言 上一章我们教会大家如何从用户表单内正确地获取数据,可是没有讲,获取到数据到底有啥用,或者说,有的用户提交数据压根儿就没正经填,那些错乱无效数据,如果直接放到数据库,纯粹是对数据库污染。...如果你对源码稍加留意,可能就会注意laravel Controller 类引入了 ValidatesRequests 这个验证 trait。...是的,这是laravel框架写好了,如果验证失败,会使用 MessageBag 这些类来状态验证失败信息,然后将错误信息渲染公共模板部分,使用 $errors 接收,这是一个对象,可以手动遍历输出。...比如不想把验证代码逻辑写到控制器里,你可以选择路由时候就进行验证,路由文件内修改上述代码: Route::post('recipes', function (Illuminate\Http\Request...如果验证失败,构建 Response 对象进行重定向,并使用 withErrors 语法糖将验证提示信息返回,而重定向页面内,可以使用 $errors 变量获取到所有的错误信息。

    1.9K10

    Laravel 控制器中进行表单请求字段验证

    很多 Web 框架都对此功能专门提供了工具集,Laravel 也不例外,而且这个工具集异常丰富,基本上涵盖了目前主流所有验证规则,即使是一些非常个性化验证,也可以基于 Laravel 验证类扩展功能来自定义验证规则...作为一个灵活框架,Laravel 提供了多种方式对表单请求进行验证,你可以控制器中通过 $this->validate() 方法验证用户请求,也可以通过单独表单验证类定义验证规则,再将其注入相应控制器方法...通过 validate 方法进行验证 控制器中编写验证逻辑 通过 php artisan make:controller 生成所有控制器默认都继承自基类 App\Http\Controllers\Controller...响应(错误码为 422),如果是正常 POST 表单请求的话,会重定向表单提交页,并包含所有用户输入和错误信息,以便重新渲染已填写表单并显示错误信息。...通过 Validator::make 方法进行验证 如果你使用过 Laravel 自带脚手架代码实现登录认证的话,你可能会留意 RegisterController 中对用户注册请求进行验证时候,使用是这样验证代码

    5.8K10

    3分钟短文:可能是Laravel模板最直白用法了,没有之一

    引言 上一期我们通过分配路由地址,url中接收位置参数并传递给控制器方法, 并且控制器内简单地打印输出接收参数。...本期我们尝试着使用laravel模板功能,把控制器内组装好数据渲染视图模板文件, 并做展示。...说明从路由,控制器处理,视图渲染,都已经正常地工作了。 laravel为什么说是最优雅框架呢?...传递多个变量 上一节只视图渲染时候,传递了一个变量值,而实际业务中,我们不可能把所有的数据,都写入同一个变量内, 然后模板使用单个组装变量。...写在最后 本文通过多种方法对从控制器内接收和组装数据通过视图方法 view 函数 渲染模板文件并展示,为了演示功能,我们使用都是单个变量没有复杂结构数据。

    1.9K20

    Laravel Validation 表单验证(一、快速验证)

    默认情况下,Laravel 控制器基类使用 ValidatesRequests trait,它提供了一种方便方法去使用各种强大验证规则来验证传入 HTTP 请求。...正如前面所提到Laravel 会自动把用户重定向之前位置。另外,所有的验证错误信息会被自动 存储 session。 重申一次,我们不必 GET 路由中将错误消息显式绑定视图。...因为 Lavarel 会检查在 Session 数据中错误信息,并自动将其绑定视图(如果这个视图文件存在)。...关于可选字段注意事项 默认情况下, Laravel 应用全局中间件堆栈 App\Http\Kernel 类中包含了 TrimStrings 和 ConvertEmptyStringsToNull...当我们对 AJAX 请求中使用 validate 方法时,Laravel 并不会生成一个重定向响应,而是会生成一个包含所有验证错误信息 JSON 响应。

    3.8K10

    3分钟短文:Laravel“南天门”,过滤掉七七八八数据

    引言 上一章我们教会大家如何从用户表单内正确地获取数据,可是没有讲,获取到数据到底有啥用,或者说,有的用户提交数据压根儿就没正经填,那些错乱无效数据,如果直接放到数据库,纯粹是对数据库污染。...如果你对源码稍加留意,可能就会注意laravel Controller 类引入了 ValidatesRequests 这个验证 trait。...是的,这是laravel框架写好了,如果验证失败,会使用 MessageBag 这些类来状态验证失败信息,然后将错误信息渲染公共模板部分,使用 $errors 接收,这是一个对象,可以手动遍历输出。...比如不想把验证代码逻辑写到控制器里,你可以选择路由时候就进行验证,路由文件内修改上述代码: Route::post('recipes', function (Illuminate\Http\Request...如果验证失败,构建 Response 对象进行重定向,并使用 withErrors 语法糖将验证提示信息返回,而重定向页面内,可以使用 $errors 变量获取到所有的错误信息。

    1.1K00

    30分钟用Laravel实现一个博客

    这条命令主要是 生成了一组用户操作控制器+主页控制器(其实还有中间件),生成了2条路由,生成了一组视图。 第三阶段_1:路由、模型、视图控制器详解。 如果你完全熟悉MVC架构,可以跳过这一步。...如果需要显示数据,则需要找到框架内指定位置视图,对它完成渲染。 第三阶段_2:资源路由、资源控制器中完成对博客增删改查。...-resouce生成控制器为资源控制器即自带 CURD增删改查 所有方法控制器 ) ( --model 是让生成控制器参数列表中自动帮我们完成依赖注入生成实际变量 ) 根据 三_1 阶段说法,..._message') 编辑 BlogController 里各种方法,执行成功某些方法时,页面重定向前,装载闪存。...一旦表单提交数据不符合 Request@rules Laravel会自动帮我们生成一个叫 $errors 数组,它存放着所有的错误信息, 我们视图上通过判断它是否有 content 字段来判断是否是表单提交评论有问题

    7.4K00

    Laravel框架路由与MVC实例详解

    分享给大家供大家参考,具体如下: 1、路由 路由作用就是将用户不同url请求转发给相应程序进行处理,laravel路由定义routes文件夹中,默认提供了四个路由文件,其中web.php文件定义基本页面请求.../laravel52/public/home/comment 2、控制器 route路由只对请求进行分配跳转,具体业务逻辑则需要由控制器来处理,控制器一般封装成为一个php类。...控制器文件一般放在app/Http/Controlers文件夹下。...']); 3、视图 controller负责处理应用逻辑,应用显示则由视图View负责,这体现了MVC中不同逻辑之间分离。...laravel并没有定义models目录,一般可以app目录下新建一个models文件夹存放模板文件。

    2.7K50

    Laravel 5.0 发布, 海量新特性!!

    当然, 如果你需要是 Phalcon 那样性能, 那它肯定不是你需要. 如果你是因为虚拟主机不支持 php 5.4 而不能享受 Laravel, 那你还不扔了你虚拟主机???...应用语言文件和视图被移到了 resources 目录. Contracts Laravel 所有主要组件都实现了存放在 illuminate/contracts 仓库中接口....控制器方法注入 除了现有的构造器注入以外, 新版本中还可以控制器方法中依赖项进行类型约束....$posts) { // } 认证脚手架 用户注册, 认证以及密码重置控制器已经内置 5.0 版网站框架中, 除了控制器以外, 还有简单视图, 存放在 resources/views/auth...比如, Amazon S3 存储一个文件, 可以简单这样: Storage::put('file.txt', 'contents'); 了解有关 Laravel Flysystem 集成更多细节

    4.1K60

    PHP-web框架Laravel-路由(一)

    路由是Web应用程序中最重要组件之一。路由是将HTTP请求映射到应用程序中正确控制器机制。Laravel中,路由负责确定应用程序如何响应传入HTTP请求。...Laravel路由基础知识Laravel路由定义应用程序routes目录中。这些路由可以定义web.php文件中,也可以定义api.php文件中。...web.php文件通常包含处理Web应用程序请求路由,而api.php文件通常包含处理API请求路由。定义路由Laravel中,可以使用Route类定义路由。...重定向Laravel中,可以使用Route::redirect方法来将一个路由重定向另一个URI。...例如,下面的路由将将“/”路由重定向“/home”路由:Route::redirect('/', '/home');命名路由Laravel中,可以给路由指定一个名称,这个名称可以应用程序中其他地方引用

    1.3K10

    Laravel5.2之Validator

    引言: Laravel提供了Validator模块,可解决表单提交验证等一些需求,并且可以视图View中显示错误验证信息,交互还是很友好。注明:作者水平有限,有错误或建议请指正,轻拍。...http://XXX/laravel/test/validator这个路由,其中XXX为你host,可以是虚拟host也可以是你共有域名,则表单提交页面为: 3、写表单提交控制器 然后写上表单提交方法...4、写显示验证错误信息视图 laravel中,laravel会在每次请求把errors变量刷session中,和视图模板绑定,所以errors变量视图模板中可用,官方文档原话:"So, it is...1、TestValidatorRequest类里写验证规则 authorize()方法主要用来设置用户权限,返回false时会返回一个403并且控制器代码不能执行,如没有权限用户不能提交表单。...一个好用PHP调试函数:debug_backtrace(),laravel任意一个文件如自己创建PHPTestController控制器postValidator()函数中加上一句: var_dump

    13.3K31
    领券