Password reset messaggio di successo o di errore

Jakub Lemiszewski

Utente Attivo
5 Dic 2013
119
1
0
Ho creato un sistema per avere il reset della password ma nella pagina di reset vorrei un messaggio di avvenuto successo o di errore in caso che la mail da resettare fosse errata. Avevo pensato ad ajax ma non sono pravo con ajax cosi se potete postare delle soluzioni vi sarei grato. Grazie dell'aiuto

codice del form:

PHP:
<div class="container-forgot">
		
		<form class="form-horizontal well" method="post" id="form" action="<?php echo base_url();?>index.php/user/doforget">
			<fieldset>
	          <legend>Reset password</legend>
			
				<div class="control-group">
					<label for="email"> Email</label>
					<input class="box" type="text" id="email" name="email" />
				</div>
				<div class="form-actions">
					<input type="submit" class="btn btn-primary" value="Reset" />
				</div>
				<?php if( isset($info)): ?>
					<div class="alert alert-success">
						<?php echo($info) ?>
					</div>
				<?php elseif( isset($error)): ?>
					<div class="alert alert-error">
						<?php echo($error) ?>
					</div>
				<?php endif; ?>				
			</fieldset>
		</form>
	</div>
Funzione:
PHP:
public function resend_password(){
  if (isset($_GET['info'])) {
               $data['info'] = $_GET['info'];
              }
		if (isset($_GET['error'])) {
              $data['error'] = $_GET['error'];
              }
		$this->load->view('user/resend_password');
 }
 public function doforget()
	{
		$this->load->helper('url');
		$email= $_POST['email'];
		$q = $this->db->query("select * from user where email='" . $email . "'");
        if ($q->num_rows > 0) {
            $r = $q->result();
            $user=$r[0];
			$this->resetpassword($user);
			$info= "Password has been reset and has been sent to email id: ". $email;
			redirect('/index.php/user/resend_password?info=' . $info, 'refresh');
			
			
        }
		$error= "The email id you entered not found on our database ";
		redirect('/index.php/user/resend_password?error=' . $error, 'refresh');
		
	} 
	private function resetpassword($user)
	{
		date_default_timezone_set('GMT');
		$this->load->helper('string');
		$password= random_string('alnum', 16);
		$this->db->where('userid', $user->id);
		$this->db->update('user',array('password'=>MD5($password)));
		$this->load->library('email');
		$this->email->from('[email protected]', 'Your name');
		$this->email->to($user->email); 	
		$this->email->subject('Password reset');
		$this->email->message('You have requested the new password, Here is you new password:'. $password);	
		$this->email->send();
	}
 
Ultima modifica di un moderatore:

Discussioni simili