我新与CI工作,我有一个问题我试图验证窗体,它工作时,我让任何领域在空白代码显示我验证错误,它可以保存用户在DB tooh ......但确认保存2用户提供相同的“usuario”我不希望这CodeIgniter错误验证用户名
如果任何人都可以用
帮助,这是控制器的代码。
<?php
class Usuarios extends CI_controller
{
public function __construct()
{
parent::__construct();
$this->load->helper('form');
$this->load->library('form_validation');
$this->load->model('usuarios_model');
}
public function index()
{
$this->load->view('usuarios_view');
}
public function registro()
{
$this->load->view('registro_view');
//$this->load->model('usuarios_model');
}
public function registro_very()
{
if($this->input->post('submit_reg'))
{
$this->form_validation->set_rules('nombre', 'Nombre', 'required');
$this->form_validation->set_rules('correo', 'Correo', 'required|trim');
$this->form_validation->set_rules('user', 'Usuario', 'required|trim|callback_veryuser');
$this->form_validation->set_rules('pass', 'Contraseña', 'required|trim');
$this->form_validation->set_message('required', 'El campo %s esobligatorio');
$this->form_validation->set_message('veryuser', 'El %s ya existe');
if($this->form_validation->run() != FALSE)
{
$this->usuarios_model->add_user();
$data = array('mensaje' => 'El usuario se registro correctamente');
$this->load->view('registro_view', $data);
}
else
{
$this->load->view('registro_view');
}
}
}
public function veryuser($user)
{
$variable = $this->usuarios_model->veryuser($user);
if($variable == true)
{
return false;
}
else
{
return true;
}
}
}
型号:
class Usuarios_model extends CI_model
{
public function __construct()
{
parent::__construct();
}
public function veryuser($user)
{
$consulta = $this->db->get_where('usuarios', array('usuario' => $user));
$row_cnt = $consulta->num_rows;
if($row_cnt == 1)
{
return true; //el usuario existe
}
else
{
return false; //el usuario no existe
}
}
public function add_user()
{
$this->db->insert('usuarios',
array(
'nombre' => $this->input->post('nombre', true),
'correo' => $this->input->post('correo', true),
'usuario' => $this->input->post('user', true),
'pass' => $this->input->post('pass', true),
'codigo' => '123456',
'estado' => '0'
));
}
}
和视图
<html>
<body>
<h1>Registrar Usuario</h1>
<?php if(isset($mensaje)): ?>
<h2><?= $mensaje; ?></h2>
<?php endif; ?>
<form name="form_reg" action="<?= base_url().'usuarios/registro_very' ?>" method="post">
<label for="Nombre">Nombre</label>
<input type="text" name="nombre" value="<?= @set_value('nombre') ?>"><br>
<label for="Correo">Correo</label>
<input type="text" name="correo" value="<?= @set_value('correo') ?>"><br>
<label for="usuario">usuario</label>
<input type="text" name="user" value="<?= @set_value('user') ?>"><br>
<label for="Contraseña">Contraseña</label>
<input type="password" name="pass" value="<?= @set_value('pass') ?>"><br>
<input type="submit" value="Registrar" name="submit_reg">
<a href="<?= base_url().'usuarios/' ?>" title="Iniciar Sesión">Iniciar Sesión</a>
</form>
<hr> <?= validation_errors(); ?>
</body>
</html>