无法从表格LARAVEL

时间:2018-10-31 11:43:42

标签: php laravel

我正在学习Laravel,在尝试从表单获取数据时遇到了麻烦。

我已经可以使用GET取回数据,但是使用POST时,我遇到了很多麻烦。这是我正在使用的东西:

表格:

<form id="forms" method="POST" action="sugestoes" novalidate>

  {{ csrf_field() }}

  <div class="form-row">

    <div class="form-group col-md-12">
      <label for="obs">Observações:</label>
      <textarea type="text" class="form-control" name="obs" placeholder="Observações" required></textarea>
    </div>

  </div>

    <hr>

  <button type="submit" class="btn btn-primary">Enviar</button>

</form>

  @php 

  if (isset($_POST["obs"])) {
    echo "IN";
  }

  @endphp

控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PostController extends Controller
{

    public function store(Request $request)
    {
        $name = $request->input('obs');

        return redirect('sugestoes');


        //
    }
}

路线:

Route::post('sugestoes', 'PostController@store');

我要达到的预期行为是提交该帖子,然后以空表格返回同一页面。稍后,我会将输入数据发送到数据库中,但是现在,我只想让该帖子起作用。

我想我确实缺少一些基本知识,但是我一直在遵循指南并在网上寻找内容,虽然已经取得了一些进展,但是我确实停留在这里。

(更多信息,这是Laravel 5.4,我正在使用XAMPP)

3 个答案:

答案 0 :(得分:2)

首先,您需要调用模型use App/Your_model_name;,然后必须保存数据。
    

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Suggest; //Suggest model, let's hope you have suggest table

class PostController extends Controller
{

  public function store(Request $request)
  {
    $suggest = new Suggest; //model
    $suggest->name = $request->obs; //name is DB name, obs is request name
    $suggest->save(); //save the post to DB

    return redirect()->back()->with('success', 'Saved successfully'); //return back with message
  }
}

然后,如果您想在HTML页面上刷新消息

@if(session('success'))
  <div class="alert alert-warning alert-dismissible" id="error-alert">
     <strong style="color: white;">{{session('success')}}</strong>
  </div>
@endif

答案 1 :(得分:0)

toStream()

删除表单下方的@php标记,然后删除router.php

filter()

然后在Controller中:

<form id="forms" method="POST" action="{{ route('sugestoes') }}" novalidate>
 {{ csrf_field() }}
<div class="form-row">

<div class="form-group col-md-12">
  <label for="obs">Observações:</label>
  <textarea type="text" class="form-control" name="obs" placeholder="Observações" required></textarea>
 </div>

</div>



   <button type="submit" class="btn btn-primary">Enviar</button>

  </form>

答案 2 :(得分:-1)

在表单的action属性中添加以下代码。它将捕获发布URL。提交表单时,它将把表单数据发送到URL端点。

action="{{ url('sugestoes')}}"

然后死掉并转储到控制器存储功能中

public function store(Request $request)
{
    dd($request->all());

}
相关问题