简体   繁体   中英

Update User Using Laravel 5.4

need your help at my laravel user update...

here's my coding:

<form class="form-horizontal" role="form" method="POST" action="{{ route('editregister.post') }}">
                        {{ csrf_field() }}

                        <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
                            <label for="name" class="col-md-4 control-label">Name</label>

                            <div class="col-md-6">
                                <input id="name" type="text" class="form-control" name="name" value="{{ $users->name }}" required autofocus>
                                @if ($errors->has('name'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('name') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>
                        <div class="form-group{{ $errors->has('username') ? ' has-error' : '' }}">
                            <label for="username" class="col-md-4 control-label">Username</label>
                            <div class="col-md-6">
                                <input id="username" type="username" class="form-control" name="username" value="{{ $users->username }}" required>
                                @if ($errors->has('username'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('username') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>
                        @if ($users->position == "Super Admin")

                        @else
                            <div class="form-group{{ $errors->has('position') ? ' has-error' : '' }}">
                                <label for="user-position" class="col-md-4 control-label">Position</label>
                                <div class="col-md-6">
                                    <select id="position" class="form-control" name="position" required autofocus>
                                        <option value=""> -- Select Position -- </option>
                                        <option value="Admin" {{ $users->position == 'Admin' ? 'selected' : '' }}>Admin</option>
                                        <option value="User" {{ $users->position == 'User' ? 'selected' : '' }}>User</option>
                                    </select>
                                    @if ($errors->has('position'))
                                        <span class="help-block">
                                            <strong>{{ $errors->first('position') }}</strong>
                                        </span>
                                    @endif
                                </div>
                            </div>
                        @endif
                        @if(session()->has('message'))
                            <div class="alert alert-success">
                                {{ session()->get('message') }}
                            </div>
                        @endif
                        <div class="form-group">
                            <div class="col-md-6 col-md-offset-4">
                                <button type="submit" class="btn btn-primary">
                                    Register
                                </button>
                                <a href='{{ url('/userlist') }}' class="btn btn-primary">
                                    Cancel
                                </a>
                            </div>
                        </div>
                    </form>

and here's my controller:

public function editregister(Request $request, $iduser)
{

    $this->validate(request(), [
        'name' => 'required|max:255',
        'username' => 'required|max:255|unique:users',
        'position' => 'required',
        ]
    );      

    $name = $request->input('name');
    $username = $request->input('username');
    $position = $request->input('position');
    $updated_at = date("Y-m-d H:i:s");

    DB::table('users')->where('id', $iduser)->update([
        ['name' => $name, 'username' => $username, 'position' => $position, 'updated_at' => $updated_at, ]
    ]);

    return redirect()->back()->with('message', 'User is successfully Updated!');
}

and here my web routes coding:

Route::get('edituser/{iduser}',['as' => 'edituser', 'uses' => 'UserRegController@editregisterform']);
Route::post('editregister', ['as' => 'editregister.post', 'uses' => 'UserRegController@editregister']);

I don't know how to it works when updating a data... Im a new user of laravel 5.4...

please help me about this one thanks..

Use post when updating.

Route::post('edituser/{iduser}',['as' => 'edituser', 'uses' => 'UserRegController@editregisterform']);

Just grab the user object using its id $user = User::find($id) and then set the properties $user->name = 'updated name' and then $user->save() . Hope this will help you.

Hi thanks guys for your response...

I just found the problem...

I remove the Request $request

public function editregister(Request $request, $iduser)

and make like this:

public function editregister($iduser)

then it fixed...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM