[eluser]Unknown[/eluser]
Hello Im Maciek and I come from Poland.
Im new in Code Igniter community, and I started codding in Code Igniter Framework yesterday.
I wrote registring module, and I want some experts advices.
Is it good approach to CI ?
Controller
Code:
<?php
class Register extends CI_Controller {
public function index()
{
$data['title'] = 'Register';
$data['header'] = 'Come on and register !';
$this->form_validation->set_rules('username', 'Username', 'required|alpha|min_length[3]|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'required|min_length[6]|xss_clean');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email');
if ($this->form_validation->run() == false) {
$this->load->view('view_register', $data);
} else {
$this->load->model('Register_model');
$count = $this->Register_model->checkUser($this->input->post('username'));
if ($count > 0) {
$data['error'] = '<p>There is the same user in database</p>';
$this->load->view('view_register', $data);
} else {
$count = $this->Register_model->checkMail($this->input->post('email'));
if ($count > 0) {
$data['error'] = '<p>There is the same e-mail in database</p>';
$this->load->view('view_register', $data);
} else {
$this->Register_model->addUser();
$data['title'] = 'Congratulation';
$data['header'] = 'You already registered account';
$data['user'] = $this->input->post('username');
$this->load->view('view_result', $data);
}
}
}
}
}
?>
Model
Code:
<?php
class Register_model extends CI_Model {
public function checkUser($username)
{
$this->db->select('username');
$this->db->where('username =', $username);
$query = $this->db->get('users');
return $query->num_rows();
}
public function checkMail($mail)
{
$this->db->select('email');
$this->db->where('email =', $mail);
$query = $this->db->get('users');
return $query->num_rows();
}
public function addUser()
{
$this->username = $this->input->post('username');
$this->password = md5($this->input->post('password'));
$this->email = $this->input->post('email');
$this->db->insert('users', $this);
}
}
?>
Views
view_register.php
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title><?=$title;?></title>
</head>
<body>
<h1><?=$header;?></h1>
<p>To jest Rejestracja</p>
<?=form_open('register');?>
Login:<br />
<?=form_input(array('name' => 'username'));?><br /><br />
Password:<br />
<?=form_password(array('name' => 'password'));?><br /><br />
E-mail:<br />
<?=form_input(array('name' => 'email'));?><br /><br />
<?=form_submit('register', 'Rgister');?>
<?=form_close();?>
<?php echo validation_errors(); ?>
<?if (isset($error)) {echo($error);}?>
</body>
</html>
view_result.php
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title><?=$title;?></title>
</head>
<body>
<h1><?=$header;?></h1>
Thank you <?=$user?><br />
You can <?=anchor('login', 'login')?> now
</body>
</html>
Thank a lot for all advices.