Ich bin neu mit CI arbeiten, und ich habe ein Problem Ich versuche, ein Formular zu validieren, es funktioniert, wenn ich Feld leer lassen den Code zeigt mir die Validierung Fehler und es kann die speichern Benutzer in der DB tooh ... aber die Validierung speichern 2 Anwender mit dem gleichen „usuario“ und ich will nicht diesenCodeIgniter Fehler Validierung Benutzername
, wenn jemand mit diesen
dies ist der Code der Steuerung helfen kann.
<?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;
}
}
}
Modell:
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'
));
}
}
Und der Blick
<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>