Comunidad de diseño web y desarrollo en internet online

Verificación de datos en BD tras el login en PHP y MySQL

Citar            
MensajeEscrito el 10 Nov 2010 08:39 pm
Hola mis estimados. Tengo la siguiente consulta:

Estoy creando un sistema de registro de usuarios para un proyecto. En mi base de datos tengo una tabla con los siguientes datos:

id_usuario | rut | password | perfil | nombres | apellidos | correo

Para realizar el login estoy usando el siguiente script en php:

Código PHP :

 
<?php
$conexion = mysql_connect("localhost","user", "pass");
mysql_select_db("bd_nombre", $conexion);
$sql="select * from usuarios where  rut='".$_POST['rut']."' and password='".$_POST['pass']."'";
$resultado=mysql_query($sql,$conexion) or die (mysql_error());
$registrostotales=mysql_num_rows($resultado);
if($registrostotales==0) { header('Location: login_error.html');; }
else {echo "Ingreso exitoso";}
?>

Al ingresar en mi página index los datos de usuario y pass correctos me conecto a la bd y obtengo el mensaje "Ingreso exitoso" Lo tengo así por el momento ya que estoy recién con el tema del registro. Hasta aquí todo funciona bien.

Ahora mi consulta.

Los usuarios estarán en la bd con todos sus datos menos el correo. Lo que quiero es que al ingresar con el pass por defecto el php detecte que no existe el correo y redireccione a otra página que ya tengo creada (registro.php) para que: a) ingrese su correo electrónico y b) cambie su contraseña por una nueva.

La secuencia sería:
compruebo rut y pass
> si no concuerdan o existen devuelvo error
> si existe...
verifico si existe el correo
> si no existe envío a la página de registro
> si existe pongo "Ingreso exitoso"

Espero haberme expresado bien. Aún me enredo un poco con las instrucciones de PHP. Por el momento sólo necesito que en caso de existir el correo me de el mensaje y que si no existe me mande a la página de registro.

Saludos a todos.

:D

Por eareddhel

83 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 11 Nov 2010 12:14 pm

Código PHP :

<?php 
$conexion = mysql_connect("localhost","user", "pass"); 
mysql_select_db("bd_nombre", $conexion); 
$sql="select * from usuarios where  rut='".$_POST['rut']."' and password='".$_POST['pass']."'"; 
$resultado=mysql_query($sql,$conexion) or die (mysql_error()); 
$registrostotales=mysql_num_rows($resultado); 
//cambia aqui:
$data = mysql_fetch_array($resultado);

if($registrostotales==0) { header('Location: login_error.html');; } 
else if (! $data['correo'])) { echo 'aqui redireccionas'; } //cambia aqui:
else {echo "Ingreso exitoso";} 
?>
 

Por nax_hh

Claber

168 de clabLevel

1 tutorial

 

Reus

firefox
Citar            
MensajeEscrito el 11 Nov 2010 06:38 pm
¡Muchas Gracias nax_hh! Revisé tu código y siguiendo tu sugerencia modifiqué mi script de la siguiente forma:

Código PHP :

<?php  
$conexion = mysql_connect("localhost","user", "pass");  
mysql_select_db("bd", $conexion);  
$sql="select * from usuarios where  rut='".$_POST['rut']."' and password='".$_POST['pass']."'";  
$resultado=mysql_query($sql,$conexion) or die (mysql_error());  
$data = mysql_fetch_array($resultado);  
if($data==0) { header('Location: login_error.html');; }  
else if (! $data['correo']) { header('Location: reg.html');; }
else {echo "Ingreso exitoso";}  
?> 

Y ¡wow! Funcionó. Si existe el correo permite el ingreso y si no existe el correo envía a la página de registro, que era lo que yo deseaba. Muchas gracias por la respuesta y la buena voluntad.

Ahora me podré a crear el script para ingresar el correo y modificar el password. :wink:

Si tengo problemas postearé aquí mismo por si hay más compañeros que estén haciendo algo parecido. :lol:

Saludos y otra vez muchas gracias por la ayuda!!!

Por eareddhel

83 de clabLevel



Genero:Masculino  

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.