【问题标题】:Laravel 5.0 data Insertion using bootstrap3 formLaravel 5.0 使用 bootstrap3 形式插入数据
【发布时间】:2016-07-03 19:49:15
【问题描述】:

我正在尝试使用引导表单将数据插入我的数据库名称Client。但是,如果我单击提交按钮,则该页面将被定向到 newClinetForm 页面,而不向客户端数据库中插入任何值。我正在使用 laravel 5.0 版。

这是newClientForm刀片模板的表单部分:

<form role="form" method="post" action="{{url('clients/newClientForm')}}">
    <input type="hidden" name="_token" value="{{csrf_token() }}">

    <div class="form-group">
        <label>Name</label>
        <input class="form-control" name="ClientName" placeholder="Erfan">
    </div>

    <div class="form-group">
        <label>Client ID</label>
        <input class="form-control" name="ClientID" placeholder="Ect112">
    </div>

    <div class="form-group">
        <label>Phone No.</label>
        <input class="form-control" name="Phone" placeholder="01XX-XXXXXXX">
    </div>
    <button type="submit" class="btn btn-default">Submit Button</button>
</form>

我尝试了Session::token() 而不是csrf_token(),但也没有帮助。

这是我的控制器部分:

public function newClientFormIndex(){
    return view('clients.newClientForm');
}

public function store(Request $request) {
    $client = new Client();
    $client->ClientID = $request->ClientID;
    $client->ClientName = $request->ClientName;
    $client->Phone = $request->Phone;
    $client->save();
}

这是模型部分:

class Client extends Model {
    protected $table = 'clients';
    public $timestamps = false;
    protected $primaryKey = 'ClientID';
    protected $fillable = ['ClientID', 'ClientName', 'Phone'];
}

这是路线部分:

Route::resource('clients/newClientForm', 'IspController@newClientFormIndex');

我找不到错误在哪里。

【问题讨论】:

  • 在您的控制器中,您正在渲染视图而没有任何连接到您用来保存数据的存储功能。你的路由器文件的内容是什么?
  • 伙计们,我发现了错误。问题出在路线上。

标签: php mysql twitter-bootstrap laravel-5 phpmyadmin


【解决方案1】:

newClientFormIndex 中,您没有调用store 函数。 此外,可能值得区分显示表单的路径和实际保存数据的路径,例如:

Route::get('clients/newClientForm', 'IspController@newClientFormIndex');
Route::post('clients/newClientForm', 'IspController@store');

然后更改您的存储方法以重定向到表单:

public function store(Request $request) {
    $client = new Client();
    $client->ClientID = $request->ClientID;
    $client->ClientName = $request->ClientName;
    $client->Phone = $request->Phone;
    $client->save();
    return redirect('clients/newClientForm');
}

这是为了避免重新提交表单。

【讨论】:

  • 是的,我不久前注意到了同样的事情并更正了它!
猜你喜欢
  • 2014-12-17
  • 1970-01-01
  • 1970-01-01
  • 2019-04-07
  • 2019-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多