[ verodostojan @ 22.01.2013. 12:06 ] @
Napravio sam formu za login i registraciju u CodeIgniter framework-u. Prilikom registracije novog korisnika potrebno je poslati mail za verifikaciju i tu nastaje problem. Funkcija u controlleru: Code: public function signup_validation() { $this->form_validation->set_rules('email', 'Email', 'required|trim|valid_email|is_unique[temp_users.email]'); $this->form_validation->set_rules('password', 'Password', 'required|trim'); $this->form_validation->set_rules('cpassword', 'Confirm Password', 'required|trim|matches[password]'); $this->form_validation->set_message('is_unique', 'This email adress already exists!'); if ($this->form_validation->run()) { $this->load->model('MembersModel'); $key = md5(uniqid()); $this->email->from('[email protected]', 'Vladimir'); $this->email->to($this->input->post('email')); $this->email->subject('Confirm your account'); $message = "Thank you for sign up!"; $message .= "< href='".base_url()." index.php/main/register_user/$key'>Click here </a> to confirm your registration"; $this->email->message($message); if ($this->MembersModel->add_temp_user($key)) { if ($this->email->send()) { echo "The email has been sent to you"; } else { echo "The email has not been sent to you"; } } else{ echo "Could not add user into database."; } } else { $this->load->view('signup'); } } Funkcija u modelu: Code: public function add_temp_user($key) { $data = array('email' => $this->input->post('email'), 'password' => md5($this->input->post('password')), 'key' => $key); $this->db->insert('temp_users', $data); $query = $this->db->get('temp_users'); if ($query) { return TRUE; } else { return FALSE; } } Prilikom izvrsavanja skripra, uredno mi napise "The email has been sent to you" ali mail ne stize. Da li je potrebno podesiti SMTP u php.ini? Kada ukljucim Mercury u Xampp-u, opet ista prica. Pomoc!!! |