用Bootstrap模式保存Laravel表格中的数据

44u64gxh  于 2022-12-16  发布在  Bootstrap
关注(0)|答案(3)|浏览(139)

我有一个引导模式对话框,它使用laravel表单来注册用户。
下面是代码:

<div id="addPenggunaModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="ModalLabel" aria-hidden="true">
<div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h3 id="ModalLabel">Tambah Pengguna Baru</h3>
</div>
<div class="modal-body">
    {{ Form::open(array('url'=>'users/addpengguna','class'=>'form-horizontal', 'method'=> 'POST')) }}
    <ul>
        @foreach($errors->all() as $error)
            <li>{{ $error }}</li>
        @endforeach
    </ul>

    <div class="control-group">
        <label for="firstname" class="control-label">First Name:</label>
        <div class="controls">
            {{ Form::text('firstname', null, array('class'=>'span3', 'placeholder'=>'First Name')) }}
        </div>
    </div> <!-- /field -->

    <div class="control-group">
        <label for="lastname" class="control-label">Last Name: </label>
        <div class="controls">
            {{ Form::text('lastname', null, array('class'=>'span3', 'placeholder'=>'Last Name')) }}
        </div>
    </div> <!-- /field -->

    <div class="control-group">
        <label for="email" class="control-label">Email Address: </label>
        <div class="controls">
            {{ Form::text('email', null, array('class'=>'span3', 'placeholder'=>'Email Address')) }}
        </div>
    </div> <!-- /field -->

   <div class="control-group">
        <label for="password" class="control-label">Password:</label>
        <div class="controls">
            {{ Form::password('password', array('class'=>'span3', 'placeholder'=>'Password')) }}
        </div>
    </div> <!-- /field -->

    <div class="control-group">
        <label for="confirm_password" class="control-label">Confirm Password:</label>
        <div class="controls">
            {{ Form::password('password_confirmation', array('class'=>'span3', 'placeholder'=>'Confirm Password')) }}
        </div>    
    </div> <!-- /field -->

    <div class="control-group">
        <label for="type_user" class="control-label">Tipe Pengguna:</label>
        <div class="controls">
            {{ Form::radio('level', '1');  }} Supervisor
            {{ Form::radio('level', '0');  }} Sales 
        </div>    
    </div> <!-- /field -->

    </form>
</div>
<div class="modal-footer">
    {{ Form::submit('Simpan', array('class'=>'button btn btn-primary','id'=>'mdl_save_change'))}}
    <button class="btn" data-dismiss="modal" aria-hidden="true">Batal</button>
</div>
{{ Form::close() }}
</div>

然后我用控制器保存细节:

public function postAddpengguna(){
 /* function to add user in data pengguna */
    $validator = Validator::make(Input::all(), User::$rules);
    if($validator -> passes()){
        $user = new User;
        $user->firstname = Input::get('firstname');
        $user->lastname = Input::get('lastname');
        $user->email = Input::get('email');
        $user->password = Hash::make(Input::get('password'));
        $user->level = Input::get('level');
        /* save the following details */
        $user->save();
        return Redirect::to('pengguna');
    } else {
        return Redirect::to('index');
    }
}

但是表单并没有将任何数据保存到数据库中。我有另一个名为注册的页面,它可以正常工作。
我的问题:
1.如何从laravel表单提交跟踪POST,是否有任何浏览器扩展?
1.如何在laravel中跟踪错误日志
1.你知道我的问题是什么吗
先谢谢你。

更新

下面是描述其工作原理的屏幕截图。
引导模式:

当我按下提交按钮(蓝色按钮模态),我希望它保存数据到数据库。函数php如上所示。
我没有使用任何 AJAX 来调用表单的值。但是当我使用AJAX的时候,总是因为缺少TOKEN而出错。

mwyxok5s

mwyxok5s1#

首先检查表单的action_token字段。要在表单中添加令牌字段,您应该在表单中包含以下行:
<input type="hidden" name="_token" value="{{csrf_token()}}">
要在项目中重用引导模式,可以选中此Github链接

igsr9ssn

igsr9ssn2#

在laravel 5的最新版本中,您可以使用快捷方式获取令牌字段。

<form ... >
  {!! csrf_field() !!}
</form>

在这种情况下,您将得到类似于

<input type="hidden" name="_token" value="hpyL7cUbCMFBGRfCi2dpzE5XHGj8WuyY2jqloKRx">

您可以在任何情况下获得调用csrf_token()的令牌字符串,无论如何,老实说,我更喜欢csrf_field()替代方案。

rbpvctlc

rbpvctlc3#

您可以将此代码与 AJAX 代码一起使用:

$(function() {
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN':  {!! json_encode(csrf_token()) !!}
        }
    });
});

相关问题