Monday, 26 August 2013

Resetting Email/Password

Resetting Email/Password

I have a page setup to reset the user's email address password and the
users zip_code for an application. I have it working correctly however, if
for example I want to just change the zip code my validation will not
allow it due to it reading the email as already existing in the database
and returns an error. What is the best way around this? I could create a
controller for each field and do it individually but I feel there is some
if statement I could use maybe?
Controller:
enter public function getEditUser() {
$userdata = array(
'email' => Input::get('email'),
'password' => Input::get('password'),
'confirm_password' => Input::get('confirm_password'),
'user_zip_code' => Input::get('user_zip_code')
);
$rules = array(
'email' => 'required|email|unique:users,email',
'password' => 'required|min:5',
'confirm_password' => 'required|same:password',
'user_zip_code' => 'required'
);
$validation = Validator::make($userdata, $rules);
if($validation->fails()){
return
Redirect::to('dashboard/edit/account')->withErrors($validation)->withInput();
}
$userdata['password'] = Hash::make($userdata['password']);
$userdata['confirm_password'] =
Hash::make($userdata['confirm_password']);
User::find(Auth::user()->id)->update($userdata);
return Redirect::to('dashboard');
}
Unique needs to be in place obviously so it doesn't get matched with
another account
Also my email is set through Auth..Auth::user()->email if that helps

No comments:

Post a Comment