PHP - como comprobar si existe un registro en una tabla sql.

   
Vista:

como comprobar si existe un registro en una tabla sql.

Publicado por Yoanna (3 intervenciones) el 11/08/2016 21:15:34
Hola, estoy empezando con Codeigniter y estoy creando una app que me permita autenticar los usuarios por LDAP y los mismos se guarden en una tabla creada en phpMyAdmin. Hasta ahi todo esta logrado. La duda comienza cuando quiero comprobar que un usuario ya existe en dicha tabla. Si es verdadero q no lo inserte. Solo q permita logearse y punto. De lo contrario, q si lo agregue a la tabla. Por favor, si alguien me pudiera ayudar al respecto??
Saludos a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip

como comprobar si existe un registro en una tabla sql.

Publicado por kip (567 intervenciones) el 11/08/2016 23:49:52
Hola, podrias colocar el cogigo de login que implementas?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como comprobar si existe un registro en una tabla sql.

Publicado por Yoanna (3 intervenciones) el 12/08/2016 15:41:43
Hola Kip, gracias por leer mi duda, aqui pongo el codigo. Te adelanto q estoy trabajando con Codeigniter y el login q hice fue a traves de una libreria para poder conectarme al ldap, luego en la controller la llamo. Aqui te dejo lo tengo en la controller. Saludos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public function ingresar()
    {
        $this->input->post('login');
        $this->input->post('password');
        $this->form_validation->set_rules('login', 'Usuario', 'required|callback_loginok');
        $this->form_validation->set_rules('password', 'Clave', 'required');
 
          if($this->form_validation->run() == false)
        {
            $this->ingreso();
 
        }else
            {
                //aqui es dond empieza mi duda, porque esta claro q esta linea me inserta todo el user q se autentique, pero lo q quiero evitar es q el mismo usuario me aparezca N veces en la tabla.
                $this->model_usuario->insert($this->input->post('login'),$this->input->post('password'));
                $this->session->set_userdata('uid', $this->input->post('login'));
                redirect('home/aprobado');
            }
    }
 
public function loginok()
    {
       $login = $this->input->post('login');
       $password = $this->input->post('password');
        return $this->usuariolib->getUser($login, $password); //usuariolib es la libreria para auntenticar por ldap.
 
    }

//la funcion ingreso(), me redirecciona a la pagina de inicio(login), si no es correcta la validacion.

Espero q con esto puedas entender mi duda, mil gracias de antemano por el tiempo. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip

como comprobar si existe un registro en una tabla sql.

Publicado por kip (567 intervenciones) el 12/08/2016 21:45:23
Bueno, deberias crear una funcion en el modelo que llamas para insertar los datos, esta funcion deberia hacer una consulta y retornarte si existe o no una fila con el nombre de usuario ingresado, aquella funcion deberia retornarte TRUE o FALSE.

Si aquel usuario no existe, ingresas los datos y pues si no existe deberia ejecutarse lo que necesites en tal caso.

Espero se haya entendido, nos avisas si tienes alguna duda.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como comprobar si existe un registro en una tabla sql.

Publicado por Eloy (24 intervenciones) el 12/08/2016 06:49:10
Buenas:

Puedes hacer un Select con los datos que deseas buscar en la tabla usando la clausula WHERE y comprobar si existen capturando los nuevos registros en un formulario Tipo $_POST.

Ejem:

$tablename = "Nombre de la tabla";
$nombre = htmlentities($_POST['nombre']);

1
"select * from " $tablename." where nombre=\"$nombre\"";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como comprobar si existe un registro en una tabla sql.

Publicado por Yoanna (3 intervenciones) el 12/08/2016 15:45:44
Hola Eloy, gracias por tu respuesta, voy a probar tu sugerencia, de cierta forma trate con algo parecido, pero en vez de hacer un select *, especificaba el campo de la tabla, pruebo y te digo q tal. Ahora, donde deberia poner este SELECT, no vaya hacer q lo este implementando en la funcion equivocada. Saludos y gracias por el tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar