Foros del Web » Programando para Internet » PHP »

registro en una bd

Estas en el tema de registro en una bd en el foro de PHP en Foros del Web. talvez esta pregunta sea algo repetida... tengo una bd con los siguientes datos : Nombre Clave Pepito uno Juanito dos Pablito tres Pedrito cuatro pues ...
  #1 (permalink)  
Antiguo 23/07/2004, 09:54
Avatar de reaper  
Fecha de Ingreso: junio-2004
Ubicación: Viña del mar - Chile
Mensajes: 15
Antigüedad: 13 años, 5 meses
Puntos: 0
registro en una bd

talvez esta pregunta sea algo repetida...
tengo una bd con los siguientes datos :

Nombre Clave
Pepito uno
Juanito dos
Pablito tres
Pedrito cuatro

pues tengo un codigo que solo lee el registro de Pepito, es asi :

if ($nombre == "pepito" AND $password == "uno")...

pues quiero saber si hay un codigo que lea directo de la bd, respetando siempre que la contraseña sea la del nombre, talvez algo asi :

if ($nombre == $row["Nombre"] AND $password == $row["Password"])...

Pero que si se pone PEPITO que la clave sea la de Pepito y no la de Juanito o cualquier otro...

De antemano gracias (toi desesperado)
__________________
:golpeado:
  #2 (permalink)  
Antiguo 23/07/2004, 10:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Conoces SQL?

Eso es lo que necesitas .. hacer una sentencia SQL "condicional" para que te arroje tu consulta sólo los registros que el campo (WHERE ) nombre='$nombre' y (AND) clave='$clave' ..

Te recomiendo leer sobre SQL en estos tutoriales:
www.mysql-hispano.com

Un saludo,
  #3 (permalink)  
Antiguo 23/07/2004, 10:27
Avatar de reaper  
Fecha de Ingreso: junio-2004
Ubicación: Viña del mar - Chile
Mensajes: 15
Antigüedad: 13 años, 5 meses
Puntos: 0
Pues, la respuesta me dejo algo claro, pero eso ya sabia que tenia que hacer, lo que me falta es un codigo como IF, que me vea si esta correcta la clave del usuario, y que vea que la clave CORRESPONDE al usuario...
__________________
:golpeado:
  #4 (permalink)  
Antiguo 23/07/2004, 10:31
Avatar de reaper  
Fecha de Ingreso: junio-2004
Ubicación: Viña del mar - Chile
Mensajes: 15
Antigüedad: 13 años, 5 meses
Puntos: 0
mira el codigo :
Código PHP:
<?
//Conexion con la base de datos
mysql_connect("root","user","pass");

//Ejecucion de la sentencia SQL
$accion mysql_db_query("bd","select * from tabla where (Nombre='$nombre' and Password='$password')");
?>
Esta bien asi?
__________________
:golpeado:
  #5 (permalink)  
Antiguo 23/07/2004, 10:32
Avatar de reaper  
Fecha de Ingreso: junio-2004
Ubicación: Viña del mar - Chile
Mensajes: 15
Antigüedad: 13 años, 5 meses
Puntos: 0
me falto :

Código PHP:
<?
$row 
mysql_fetch_array($accion);
if ((
$Nombre == $row["Nombre"]) AND ($Password == $row["Password"]))
?>
__________________
:golpeado:
  #6 (permalink)  
Antiguo 23/07/2004, 11:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si, .. esto está bien ..

Código PHP:
<? 
//Conexion con la base de datos 
mysql_connect("root","user","pass"); 

//Ejecucion de la sentencia SQL 
$accion mysql_db_query("bd","select * from tabla where (Nombre='$nombre' and Password='$password')"); 
?>
pero esa consulta .. ya te va a devolver 1 o 0 registros dependiendo de si se ecuentra un registro que cumpla Nombre=$nombre y Password=$Password (se supone que los "Nombres" y "passwords" (ambos) son únicos).

Así que .. si ya sabes (ahora ya lo sabes) que el resultado va a ser ese .. tan sólo tienes que ver cuantos resultados arroja tu consulta para saber si "existe y es correcto ese NOmbre y contraseña o no (bien que el nombre no existe o no le corresponde la contraseña) .. sería algo tipo:

Código PHP:

if (mysql_num_rows($accion) == 1){
    
$row=mysql_fetch_array($accion);
    echo 
"Bienvenido ".$row['nombre'];
} else {
    echo 
"No conozco a ".$Nombre." o bien el Password: ".$Password no corresponde".

Pero, mejor quedaría usando COUNT() de Mysql que "cuenta" los registros arrojados por una consulta devolviendo UN sólo registro con ese valor, en lugar de mysql_num_rows() que cuenta los registros en función a todo lo que pudo obtener con el consiguiente consumo de recursos.

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:46.