发送请求并接收阵列

时间:2018-02-06 11:25:45

标签: php arrays laravel

当我发送表格时,我会收到该页面。

The page has expired due to inactivity. 

Please refresh and try again.

我该如何解决这个问题,以便当我点击提交按钮时,我不会放弃,只是更新页面。

其次,最重要的是,在提交表单中的数据后,我得到一个空数组,为什么?也就是说,按下提交按钮后,我将其放在我在顶部描述的页面上。 The page has expired due to inactivity。在backspace之后,如果按 Ctrl + u ,则在页面顶部可以看到此代码。

Array
(
) 
  

为什么数组是空的?请告诉我如何解决它。

这是我的模板 contact.blade.php

@extends ("default.layouts.layout")

@section("content")
<div style="display: flex;">
    <form method="post" action="{{ route ('contact') }}">
        <label for="name">Name</label>
        <input name="name" type="text" >
        <label for="e-mail">E-mail adress</label>
        <input  name="e-mail" type="text">
        <label for="site">Site</label>
        <input name="site" type="text" style="margin-bottom: 10px;" >

        <label for="text">Text</label>
        <textarea name="text"></textarea>
        <button style="background-color:lightslategrey" type="submit">Submit</button>
    </form>
</div>
<style>
    input {
        display: flex;
    }
</style>
@endsection

这是我的控制器 ContactController

<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class ContactController extends Controller
{




    public function show(Request $request){

        print_r($request->all());

        return view("default.contact",["title"=>"Contacts"]);
    }
}

同时路由 web.php

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/


Route::get("/",["as"=>"home","uses"=>"Admin\IndexController@show"]);

Route::get("/about",["uses"=>"Admin\AboutController@show", "as"=>"about"]);

Route::match(["get","post"],"/contact",["uses"=>"Admin\ContactController@show","as"=>"contact"]);

2 个答案:

答案 0 :(得分:2)

修复以下错误

  

由于不活动,该页面已过期。

     

请刷新并重试。

{{ csrf_field() }}添加到表单

<form method="post" action="{{ route ('contact') }}">
    {{ csrf_field() }}
...
</form>

答案 1 :(得分:0)

一个问题是您的表单上没有CSRF令牌。每次执行请求时,Laravel都需要CSRF令牌,否则只会出错。

将此添加到您的表单,看看它是否有帮助。

{{ csrf_field() }}