Reputation: 402
I am going to insert new data records to users table in laravel 5.6. this is My UserController,
public function store(Request $request)
{
$this->validate($request,[
'name' => 'required|max:255',
'userlevel' => 'required',
'email' => 'required|email|unique:users',
]);
$user = new User();
$user->name = $request->input('name');
$user->uservalue = $request->input('uservalue');
$user->email = $request->input('email');
$user->password = $request->input(bcrypt($data['password']));
$user->save();
return redirect()->route('users.show', $user->id);
}
and blade file is,
<form action="{{route('users.store')}}" method="POST">
{{csrf_field()}}
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" id="name" name="name" placeholder="Enter Name">
</div>
<div class="form-group">
<label for="exampleFormControlSelect1">User Level</label>
<select class="form-control" id="uservalue" name="uservalue">
<option>0</option>
<option>2</option>
<option>1</option>
</select>
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="text" class="form-control" id="email" name="email" placeholder="Enter Email">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="text" class="form-control" id="password" name="password" placeholder="Enter Password">
</div>
<button type="submit" class="btn btn-primary">Create User</button>
</form>
</div>
route is,
Route::resource('/users','UserController');
But when I clicked submit button data not saving to users table. not any error message occurred. only refresh page. how can fixed this problem?
Upvotes: 0
Views: 180
Reputation: 1359
I think the problem is here $request->input(bcrypt($data['password']))
You are passing $data but not defining it. simply try this: bcrypt($request->input('password'))
Also, you are validating userlevel
but inserting uservalue
.
Upvotes: 2
Reputation: 556
public function store(Request $request)
{
$this->validate($request,[
'name' => 'required|max:255',
'uservalue' => 'required',
'email' => 'required|email|unique:users',
]);
$user = new User();
$user->name = $request->input('name');
$user->uservalue = $request->input('uservalue');
$user->email = $request->input('email');
$user->password = $request->input(bcrypt($data['password']));
$user->save();
return redirect()->route('users.show', $user->id);
}
please Change userlevel to uservalue
Upvotes: 3