[ BLACK_SWORD @ 28.02.2012. 11:04 ] @
Pozdrav! Može li mi neko objasniti zašto sluzi "model" u mvc? Koristim CodeIgniter framework znam da se u modelu radi sa bazom podataka al opet ne znam šta stavljat u model a šta u contorller. Evo naprimjer skripta za potvrdu registracije (aktivacijski email) Code: <?php class User extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('User_model'); } public function activate() { if (($this->uri->segment(3) === FALSE) OR ($this->uri->segment(4) === FALSE)) { redirect(); } else { $id_user = $this->uri->segment(3); $validation_code = $this->uri->segment(4); if ($this->session->userdata('logged_in')) { $this->logout(uri_string()); } $data = $this->User_model->activate($id_user, $validation_code); if ( ! $data) { $this->session->set_flashdata('message', 'Link je neispravan.'); redirect('user/register'); } elseif ($data == 'is_activated') { $this->session->set_flashdata('message', 'Račun je već aktiviran.'); redirect('user/register'); } else { $this->session->set_flashdata('message', 'Uspiješno ste aktivirali račun, sad se možete ' . anchor('user/login', 'prijavit', array('title' => 'Prijava')) . '.'); redirect('user/register'); } } } } models Code: class User_model extends CI_Model { function __construct() { parent::__construct(); } function activate($id_user, $validation_code) { $id_user = (int)$id_user; $query = $this->db->query("SELECT `activated`, `validation_code` FROM `users` WHERE `id_user` = $id_user LIMIT 1"); if ($query->num_rows() != 0) { $row = $query->row(); if ($row->activated == 1) { return 'is_activated'; } elseif ($row->validation_code == $validation_code) { $this->db->query("UPDATE `users` SET `activated` = 1, `ip_address` = '" . $this->input->ip_address() . "' WHERE `id_user` = $id_user LIMIT 1"); return TRUE; } return FALSE; } return FAlSE; } } I dali je ovo vako isravno uradjeno? Hvala |