当前位置: 首页 > 知识库问答 >
问题:

在Laravel中插入表单数据后,如何重定向到另一个页面?

竺和洽
2023-03-14

我有一个带有一些输入字段的表单。现在我想,如果任何人提交这个代码表单,然后他将重定向到另一个页面,在那里我写了确认信。我已经搜索过了,但我找不到我的问题的正确答案。

我的控制器:

public function store(Request $request)
{
    $applicant = new Applicant();
    $applicant['name'] = $request->input('name');
    $applicant['sex'] = $request->input('sex');
    $applicant['marital_status'] = $request->input('marital_status');
    $applicant['date_of_birth'] = $request->input('date_of_birth');
    $applicant['email'] = $request->input('email');
    $applicant['fathers_name'] = $request->input('fathers_name');
    $applicant['mothers_name'] = $request->input('mothers_name');
    $applicant['spouses_name'] = $request->input('spouses_name');
    $applicant['nationality'] = $request->input('nationality');
    $applicant['present_add'] = $request->input('present_add');

    $applicant->save();
    \Session::flash('flash_message','Application has been successfully submitted.');
    return redirect(route('confirmationMsg'));
}

我的路线:

Route::group(['prefix' => 'career'], function () {
    Route::get('apply', ['as' => 'addApplicant', 'uses' => 'ApplicantController@create']);
    Route::post('save', ['as' => 'saveApplicant', 'uses' => 'ApplicantController@store']);
    Route::get('submitted', ['as' => 'confirmationMsg', 'uses' => 'ApplicantController@store']);
});

我的代码有一个错误:

在C:\xampp\htdocs\NoticeBoard\供应商\laravel\框架\src\照明\数据库\Connection.php行729: SQLSTATE[23000]:完整性约束冲突: 1048列名称不能为空(SQL:插入到申请人name marital_status

有人能帮我吗,问题出在哪里,或者我是怎么做到的?提前感谢。


共有3个答案

阎唯
2023-03-14

我可以看到关于redirect()route()用法的三个答案,但您的代码在这里是正确的。你甚至接受了其中一个答案(为什么?)。

错误显示name(可能还有少数其他)字段为空,因此您需要确保从表单传递这些字段。您可以在store()函数的开头使用以下代码来检查:

dd($request->all());

或者,您可以在迁移文件中将这些字段中的一个设置为nullable()

$table->string('name')->nullable();
皇甫建木
2023-03-14

试试这个:-

return redirect()->route('confirmationMsg');
曾华翰
2023-03-14

试试这个:

return redirect('your_route');

Route::get('your_route', function () {
    // return view from here or make a function call from a controller
});
 类似资料:
  • 问题内容: 我已经阅读了所有有关将标头插入php表单文件中以便在提交表单后将用户重定向到另一个URL的文章-但我不知道该怎么做。下面是我的代码。您能告诉我在哪里放置标题/重定向,以便通过电子邮件发送信息,然后用户转到另一个html页面吗? 问题答案: 之后 请注意,您将永远不会看到“感谢您订阅我们的邮件列表” 那应该在下一页上,如果您回显任何文本,则会收到错误消息,因为标头已经被创建;如果您要重定

  • 问题内容: 我有一个登录名和一个注册页面。当随机用户想要登录并且登录成功时,我想将他重定向到另一个.ejs页面(例如UserHomePage.ejs),但是到目前为止,我没有尝试过。 我也想知道,如何在单击按钮时重定向用户。 假设我在显示用户页面上,在这里显示所有用户,然后有“添加另一个使用过的按钮”。我怎么做?在onclick之后如何将用户重定向到Register.js页面? 问题答案: 您应该

  • 问题内容: 如何使用jQuery或纯JavaScript将用户从一个页面重定向到另一页面? 问题答案: 一个不只是简单地使用jQuery进行重定向 jQuery不是必需的,[ ]它将最好模拟HTTP重定向。 比使用更好,因为它不会将原始页面保留在会话历史记录中,这意味着用户不会陷入永无休止的后退按钮惨败中。 如果要模拟某人单击链接,请使用 如果要模拟HTTP重定向,请使用 例如:

  • 问题内容: 如何使用Wicket重定向到另一个页面?IIRC,必须在构造函数中引发一些异常,但我不记得是哪个异常。提前致谢。 问题答案: 就像您在自己的答案中指出的那样,投掷a 就能做到这一点,但这实际上是允许重定向并最终在当前页面继续进行的系统的一部分(通常是授权过程的一部分)。如果不是您的情况,但是您仍然必须执行一些中断处理的操作,则最好抛出。 我知道的主要用法是在“重定向到登录页面”过程中。

  • 我正在学习Spring Boot。我有一个具有唯一id的产品列表,我想实现“按id查找”功能,但我不知道如何做到,我搜索了但得到了完全不同的东西。 我已经有一个这样的@Get映射方法: 如果我在url中手动输入id,我会得到我想要的东西。但我想在HTML页面中有一个输入框,如: 在我提交表单后,它将重定向到该页面。例如,如果输入1,它将转到localhost:8080/products/1 我一直

  • 问题内容: 我正在使用ajax调用在服务文件中执行功能,并且如果响应成功,我想将页面重定向到另一个URL。目前,我正在通过使用简单的js“ window.location = response[‘message’];”来做到这一点。但是我需要用angularjs代码替换它。我看过关于的各种解决方案,他们使用了$location。但是我是新手,对实现它有困难。 问题答案: 您可以使用Angular