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

如何在Laravel中完成POST后正确重定向?

在Laravel中完成POST后的正确重定向,可以通过以下步骤实现:

  1. 首先,在Laravel中使用POST方法提交表单数据时,需要在表单的<form>标签中设置action属性为目标路由的URL,并且设置method属性为POST
  2. 在路由文件中,定义对应的POST请求路由,并指定处理该请求的控制器方法。
  3. 在控制器方法中,可以通过redirect()函数来进行重定向。该函数接受一个参数,即重定向的目标URL或路由名称。
  4. 如果需要在重定向时传递数据,可以使用with()方法。该方法接受一个关联数组作为参数,其中键为数据的名称,值为数据的值。

下面是一个示例代码:

代码语言:txt
复制
// 表单提交的路由定义
Route::post('/submit', 'FormController@submit')->name('submit');

// FormController.php
class FormController extends Controller
{
    public function submit(Request $request)
    {
        // 处理表单提交逻辑

        // 重定向到指定URL
        return redirect()->route('success')->with('message', '提交成功');
    }

    public function success()
    {
        // 获取重定向时传递的数据
        $message = session('message');

        // 显示提交成功页面
        return view('success', compact('message'));
    }
}

在上述示例中,submit()方法处理表单提交逻辑,并通过redirect()->route('success')进行重定向,同时使用with('message', '提交成功')传递了一个名为message的数据。在success()方法中,可以通过session('message')获取传递的数据,并在视图中显示。

这样,在Laravel中完成POST后的正确重定向就可以实现了。在实际应用中,可以根据具体需求进行适当的调整和扩展。

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

相关·内容

何在Laravel5.8正确地应用Repository设计模式

在本文中,我会向你展示如何在 Laravel 从头开始实现 repository 设计模式。我将使用 Laravel 5.8.3 版,但 Laravel 版本不是最重要的。...DB_DATABASE=laravel_repository DB_USERNAME=root DB_PASSWORD=secret 当你更新了 .env 文件我们需要清空缓存: php artisan...不需要十行代码就可以获取到所需的数据,多亏了 repository ,所有这些逻辑都可以在一行代码完成。这对单元测试也很好,因为 repository 的方法很容易复用。...在这个例子,我们使用 MySQL 数据库来检索我们的博客内容。我们使用 Eloquent 来完成查询数据库操作。...完成了这些我们需要清空缓存: php artisan config:clear 就是这样 现在你已经成功实现了 repository 设计模式,不是很难吧?

4.2K31
  • 深入理解 Laravel 管道

    基本上,你可以使用 laravel 管道(pipelines)基于链式操作将对象传入多个类执行任何类型的任务,并在所有「任务」执行完成一次性返回最终结果。...你可以从 Laravel pipelines 获取更多相关知识。 有关管理工作原理的最常见的示例是在框架本身的组件的使用。我这里说的就是「中间件」。...如果你快速浏览过 Illuminate\Foundation\Http\Kernel 类,你会看到中间件是如何在 Pipeline 对象中被执行的。...return $next($content); } } 用于处理任务的方法接收两个参数,第一个是一个可传递的对象,第二个是闭包,在运行最后一个管道对象将被重定向到这个闭包。...但是值得高兴的是在你的知识库在需要的时候已经建立了管道这个新的武器的知识。 我希望这个实例能够让你对「Laravel Pipelines」有更深的了解,并知道如何使用它们。

    3.3K20

    掌握 Laravel 的测试方法

    继而,讲解如何在 Laravel 项目中创建「单元测试」和「功能测试」用例。...本节我们会在 Laravel 编写单元测试用例对 Post 模型进行测试。 幸运的是,Laravel 同样为我们提供了创建测试用例模版文件的命令工具。...->assertEquals($db_post_title, $model_post_title); } } 我们可以看到更新的代码和 Laravel 代码编码风格完全一致。...在我们的测试用例的这个 GET 请求响应状态码应该是 200。此外,测试还将获取到一个首字母大写的标题,判断标题是否与 $db_post_title 相对的方法是 assertSeeText。...编写完成所有的测试用例。接下来需要去执行这些测试用例。在 Laravel 项目中运行 PHPUnit 测试用例,仅需在项目更目录执行下面的命令。

    5.7K10

    Laravel 控制器:从 MVC 模式聊起

    说到这里,我们就不得不提一下 MVC 设计模式,这个模式最早在 Ruby On Rails 引入,然后被基本上所有的 Web 框架所借鉴和遵循,Laravel 也不例外。...所以,你应该具备这样的意识:控制器的主要职责就是获取 HTTP 请求,进行一些简单处理(验证)将其传递给真正处理业务逻辑的职能部门, Service。...4、依赖注入 正如前面介绍的 Input 门面一样,Laravel 的门面为 Laravel 代码库的大部分类提供了简单的接口调用,通过门面你可以轻松从当前获取各种请求数据,比如用户输入、Session...5、资源控制器 有时候在编写控制器时命名方法名称可能是最困难的,好在 Laravel 为常见的 REST/CRUD 控制器(在 Laravel 称之为「资源控制器」)提供了一套约定规则,并为此提供了相应的...} destroy() post.desc 删除单个文章 绑定资源服务器 通过上面的表格已经了解了 Laravel 对资源路由的命名约定,Laravel 还为我们提供了一个 Route::resource

    11.3K51

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

    这里的url表示提交表单时的路由,方法为post。在这里使用laravelcollective/html这个组件,顺便了解下怎么在laravel安装组件。 这里书中使用了laravel4....这里注意下:如果不写table变量,laravel会自动根据model名字复数来找数据表,这个model名字是link,那就找links表。...4、保存数据进入数据库 写好视图表单,再就是写表单的提交路由及其控制器逻辑,在控制器引用创建好的Link这个Model往links数据表里存数据。...好,现在就按照流程写代码: 首先: Route::post('url', 'UrlController@postUrl'); 然后在UrlController写上: public function...6、从数据库取出URL并且重定向 最后根据生成的URL获取其hash部分,根据hash值从links数据表取出对应的URL为了重定向,这里英文原文也是在路由中写逻辑,这里也在路由里写逻辑: Route

    24.1K31

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

    接下来,我们就一起来看看如何在 Laravel 对表单请求进行验证。...作为一个灵活的框架,Laravel 提供了多种方式对表单请求进行验证,你可以在控制器通过 $this->validate() 方法验证用户请求,也可以通过单独的表单验证类定义验证规则,再将其注入到相应的控制器方法...首先我们调整下 routes/web.php 的表单提交路由,将其命名为 form.submit: Route::post('form', 'RequestController@form')->name...表单请求的话,会重定向到表单提交页,并包含所有用户输入和错误信息,以便重新渲染已填写表单并显示错误信息。...通过 Validator::make 方法进行验证 如果你使用过 Laravel 自带脚手架代码实现登录认证的话,你可能会留意到 RegisterController 对用户注册请求进行验证的时候,使用的是这样的验证代码

    5.8K10

    通过 Laravel 创建一个 Vue 单页面应用(六)

    我们将完成基本 CURD 的最后一部分:创建新用户。您已经拥有了我们之前讨论过的主题中所需要的所有工具,因此可以尝试创建用户并将本文与您的工作进行比较。...如果您需要跟上,我们在 第5部分  停止了删除用户的功能,以及在成功删除如何重定向用户。我们还研究了如何将 HTTP 客户机提取到一个专用模块,以便在整个应用程序重用。...提醒一下,本教程并不关注权限;我们使用内置的 Laravel users 表演示如何在 Vue 路由器项目的上下文中使用 CURD。...以下是迄今为止的系列概要: 第1部分 – 设置项目和 Vue 路由器 第2部分 – 在 Vue 路由器中加载异步数据 第3部分 – 在 Laravel 创建真实的用户端 第4部分 – 编辑用户 第5部分...添加 API 接口 我们准备在 Laravel 添加 API 接口以创建新用户。这将类似于编辑现有用户。但是,此响应将返回 201 Created 状态代码。

    3.8K20

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

    接下来,我们通过 Cookie + Session 来完成博客管理后台的用户认证功能。 基于 Session 实现用户登录功能我们在前面的基础教程已经演示过了,这里只需在其基础上进行改造即可。...2、路由和控制器 注册路由 做好以上准备工作,在 app/routes/web.php 中注册用户登录和退出路由: $router->register(['get', 'post'], 'login'...用户登录视图 完成上述视图模板重构,编写用户登录页面就可以复用头部和底部组件了: 用户退出视图 用户退出通过一个模态框的交互来完成,对应的引用代码在导航组件 nav.php : <div class="dropdown-menu dropdown-menu-right shadow...确认退出<em>后</em>,页面会再次<em>重定向</em>到登录页面,表示用户退出成功。 关于用户认证的部分,学院君就简单介绍到这里,下篇教程,我们来完善后台专辑、文章、消息的增删改查功能,从而构建博客系统前后端功能闭环。

    2.4K20

    Laravel框架处理用户的请求操作详解

    本文实例讲述了Laravel框架处理用户的请求操作。..."<br/ "; //判断请求类型 if ($request- isMethod('POST')){} //请求的url echo "url:" ....通过redirect()函数来实现页面的重定向 //重定向到命名路由,带参数 return redirect()- route('redirect',['name'= 'tory']); //重定向到路由...比如认证验证中间件会验证用户是否经过认证(登录),如果用户没有经过认证,中间件会将用户重定向到登录页面,而如果用户已经经过认证,中间件就会允许请求继续往前进入下一步操作。 ?...: $res=Session::pull('arr'); //取出数据并删除 存入一次性数据,存入之后只允许取出一次就删除: Session::flash('key5','val5'); 更多关于Laravel

    9.5K41

    使用Laravel的查询构造器实现增删改查功能

    引言 上一篇介绍了如何在windows环境下跑一个 laravel 项目,这一篇写如何使用 laravel 的 查询构造器 实现增删改查。...127.0.0.1:9000 -c D:/wnmp/Wnmp/php/php.ini 新建一个数据库, 我命名为 shop , 然后新建两张表 分别: goods - 商品表 user - 用户表 数据表新建完成...准备步骤已经完成, 我们打开上篇文章介绍的 testLaravel 项目 查看Laravel文档能够知道 数据库配置 在 config/database.php 里, 因为我们是mysql数据库, 所以找到对应的...VerifyCsrfToken.php 打开文件, 添加 CSRF 白名单 , protected $except = [ 'http://test.lara.com/test/queryUsers', ]; 完成这步我们再打开...laravel查询构造器可以使用 delete 方法从表删除记录。

    4.7K30

    玩转 PhpStorm 系列(十):代码调试篇(下)

    所以,作为 PhpStorm 代码调试教程的姊妹篇,这篇教程学院君来给大家演示如何在 PhpStorm 基于 Xdebug 扩展对 PHP Web 应用进行代码调试。...完成以上初始化操作,就可以在 PhpStorm 对 PHP Web 应用进行代码调试配置了,这里我们以一个 Laravel 应用作为示例 Web 项目。...在 PhpStorm 配置 Web 服务器 接下来,我们就来演示如何在 PhpStorm 基于 Xdebug 来对上述测试代码进行调试和问题定位。...通过 Xdebug 调试 Laravel 应用 完成上述配置,在代码编辑器设置断点: ?...将 welcome.blade.php post->title 修改为 以上无论是 PHP CLI 脚本,还是 PHP Web 应用,都只是本地进行 PHP 代码调试,如果对应的 PHP 代码部署在远程主机

    2.4K21

    基于 Symfony 组件封装 HTTP 请求响应类

    : composer require symfony/http-foundation 下载完成的扩展包会保存到 vendor/symfony/http-foundation 目录下,另外,也会在 composer.json...至此,我们就完成了请求和响应类的封装。 使用请求和响应类 最后,我们在入口文件 public/index.php 中使用封装的请求和响应类重构请求处理逻辑: <?.../views/post.php'; } else { // 改为通过 Response 对象发送重定向响应 $response = new \App\Http\Response('',...,也调整为了调用 request->get() 方法,然后传入参数名作为键,该方法可以获取所有请求参数,包括 GET 请求和 POST 请求的(换言之,就是查询字符串和请求实体的参数)。...最后,在兜底逻辑,我们基于 Response 对象设置响应状态码和响应头,对于 Response 类的构造函数,第一个参数是响应实体(默认是空字符串,这里是重定向响应,故而留空),第二个参数是响应状态码

    8.6K20

    为什么 Laravel 这么优秀?

    我准备从一个后端最常用的 CURD 例子说起,一步一步阐述这过程 Laravel 都是怎么完成的;以及~大家~(我)为什么喜欢用 Laravel。...courses table & definition model relation 定义课程表的数据库字段和定义模型关系 definition course seeder 当模型及模型之间的关系定义完成...因为我们已经完成了数据表字段的定义、表与表的关系、以及最重要的一步:如何将数据及数据之间的关系写入数据库,下面简单的来介绍下在 Laravel 是如何完成的。...比如你在上一次变更操作错误的设置了某个表的索引,那我理解的正确的做法不是回滚,而是创建一个新的迁移文件,并在新的迁移文件 ALTER 之前的修改。...你可以在开发阶段在 .env 文件中将你的缓存驱动改为本地磁盘,将你的队列驱动改为本地同步队列;当你完成所有开发,只需要在 staging/prod 环境修改 .env 的值就可以了,你几乎不需要做什么额外的工作

    22510

    详解laravel passport OAuth2.0的4种模式

    参考: https://xueyuanjun.com/post/ 1… 熟悉的场景 某个网站,某用户未注册,注册时提示可微信账号登录(github, google都有类似 某网站是第三方(客户端)...access_token 准备 见文档: https://xueyuanjun.com/post/1… 4种模式 记得用 artisan passport:client 添加对应用户 对应不同应用场景:...允许,redirect到 客户端指定的redirect_uri 重定向uri由第三方在步骤1里指定. 后端无法控制具体重定向的url实现,(每个第三方都不一样)只能通过url添加返回参数code....第三方服务的后端处理该重定向,再次发起访问 /oauth/token ,拿到真正的token ?...客户端模式(client_credentials) 类似微信等开放平台的认证方式.开发者注册拿到clientid, client_secret,然后认证去拿token直接用 比密码授权更简单,无需用户名密码

    3.6K30

    PHP-web框架Laravel-中间件(一)

    中间件的基本使用在Laravel,中间件可以通过路由或控制器来指定。...中间件类Laravel的中间件实际上是PHP类。在创建中间件时,可以选择手动创建类,也可以使用Laravel提供的中间件生成器来自动生成。...该类实现了handle方法,用于检查请求的年龄是否大于18。如果年龄小于或等于18,则将请求重定向到home路由。否则,将继续执行下一个中间件或控制器操作。注册中间件。...web中间件在这个示例,我们定义了两个中间件组:web和api。web中间件组包含一组用于Web应用程序的中间件,加密Cookie、启动会话和验证CSRF令牌。...当访问该路由时,中间件将检查请求的年龄,并根据需要重定向请求或继续执行下一个操作。

    3.3K31

    Laravel配置全局公共函数的方法步骤

    前言 在laravel项目开发,经常使用到公共函数,那如何在laravel配置全局公共函数呢??...下面话不多说了,来一起看看详细的介绍吧 方法如下 在Laravel项目中我们常常需要定义一些全局的公共函数,通常我们会将这些公共函数定义在一个单独的文件里,helpers.php。...param $str 要加密的字符串 */ function double_md5($str) { return md5(md5(trim($str))); } 该函数返回对一个字符串进行两次md5加密返回的字符串...要让应用能够正确找到 helpers.php 文件,还要修改项目根目录下 composer.json 的 autoload 配置: "autoload": { "classmap": [ "database...修改完成后记得运行 composer dump-autoload 确保让修改生效: composer dump-autoload # 或 composer dumpautoload 现在 helpers.php

    3.3K20
    领券