Foros del Web » Programando para Internet » PHP »

Ayuda para buscar un dato en base de datos

Estas en el tema de Ayuda para buscar un dato en base de datos en el foro de PHP en Foros del Web. Hola, que tal: estoy tratando de armar una base de datos con nombres y claves de admins... El tema es que quiero hacer la validación ...
  #1 (permalink)  
Antiguo 06/12/2005, 16:04
 
Fecha de Ingreso: julio-2005
Mensajes: 12
Antigüedad: 18 años, 8 meses
Puntos: 0
Ayuda para buscar un dato en base de datos

Hola, que tal:

estoy tratando de armar una base de datos con nombres y claves de admins...

El tema es que quiero hacer la validación del log in.. para lo cual necesito buscar si el dato usuario se encuentra y a ese dato buscar si el password asociado es correcto...

Como tendria que hacerlo??

Y tambien quisiera saber si existe alguna cláusula como el "if", pero que sea verdadero en caso de que cumpla más de una condicion...

gracias
  #2 (permalink)  
Antiguo 06/12/2005, 16:31
 
Fecha de Ingreso: julio-2005
Ubicación: Mexico
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
Si esta hablando de PHP. Has una consulta
Código:
<?
$sql="SELECT * FROM `administradores` WHERE login='$login'";
$rs = mysql_query($sql);

  if (mysql_num_rows($rs)==0) echo "No existe el usuario";
  else {
    $sql="SELECT * FROM `administradores` WHERE login='$login' AND password='$password'";
    $rs = mysql_query($sql);
    if (mysql_num_rows($rs)==0) echo "Contaseña invalida. Intenta de nuevo";
    else{
    // Codigo que le permita accesar al sistema pues sus datos son correctos
     }
}

?>
__________________
SELECT * FROM LA_VIDA
  #3 (permalink)  
Antiguo 06/12/2005, 17:08
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
Puntos: 1
pues la cosa seria mas o menos asi:

1º Crear una base de datos con una tabla (usuarios) que tuviera como minimo los campos id, usuarios y clave, un ejemplo en mysql:
Cita:

create table usuarios
(
usuid int unsigned not null auto_increment primary key,
usuario varchar(60) not null default "",
clave varchar(50) not null
);
2º Crear un formulario html con un campo text para el login y otro password para la clave y que envie la informacion a un script php.
Formulario.html
Código HTML:
<form action="validar.php" method="post">
<input type="text" name="usuario">
<input type="password" name="clave">
</form> 
3º El script php debe de comprobar si los datos son correctos, ejemplo:
validar.php

Código PHP:

//conectamos con la base de datos con los datos 
  
mysql_pconnect("$servidor""$administrador""$password");
  
mysql_select_db("$tu_BD")

// hacemos un peticion a la base datos para que nos encuentre un registro donde coincidan el usuario y la clave
$result mysql_query("select * from usuarios where usuario='$usuario' and clave='$clave' ");

// si nos devuelve mas de un registro es que si coinciden el usuario y la clave , entonces logeado
if (mysql_num_rows($result)>0){ echo "logueado"; }
//sino...
else{ echo "no logeado"; } 
Por supuesto es una manera muy basica de hacer unn registro tendrias que ver muchas mas cosas como recibir las variables mediante la variable superglobal post, encriptacion de las claves, el uso de sesiones para seguir a tus usuarios o administraores, etc
__________________
Ciao y suerte.
  #4 (permalink)  
Antiguo 06/12/2005, 17:27
 
Fecha de Ingreso: julio-2005
Mensajes: 12
Antigüedad: 18 años, 8 meses
Puntos: 0
yo hago algo parecido, pero me tira lo siguiente

Cita:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\GestorPHP\admin\verificar.php on line 14
no logeado
  #5 (permalink)  
Antiguo 06/12/2005, 17:30
 
Fecha de Ingreso: julio-2005
Ubicación: Mexico
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
Has un echo de tus consultas alguna no corre en el MySQL y por eso te manda ese error, Imprimelas en pantalla para ver que pex con las variables y por que es que no corren en el MySQL saludos
__________________
SELECT * FROM LA_VIDA
  #6 (permalink)  
Antiguo 06/12/2005, 17:43
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
Puntos: 1
Pon tu codigo y te podremos ayudar mejor.
__________________
Ciao y suerte.
  #7 (permalink)  
Antiguo 06/12/2005, 17:47
Avatar de The_Dark_Roy  
Fecha de Ingreso: enero-2004
Mensajes: 218
Antigüedad: 20 años, 3 meses
Puntos: 0
pone esl sql y las tablas para ver en que fallas
__________________
ojala te hayas quitado la venda

http://www.surire.cl
http://www.uta.cl
  #8 (permalink)  
Antiguo 07/12/2005, 09:22
 
Fecha de Ingreso: julio-2005
Mensajes: 12
Antigüedad: 18 años, 8 meses
Puntos: 0
Código

Estoy tratando de crear una base de datos con esta información, pero no me deja hacerlo... Alguien me puede decir que pasa?


Código PHP:
<?
$crear 
"CREATE TABLE administradores (";
$crear .= "id int(5) NOT NULL AUTO_INCREMENT PRIMARY KEY, ";
$crear .= "usuario varchar(12) NOT NULL, ";
$crear .= "clave varchar(12) NOT NULL)";

require (
"infoadmin.php"); //Esto lo uso para llamar a la conexión de la base de datos
$resultado mysql_query ($crear$conexion);
if (
$resultado)
{ echo 
"Creado";
mysql_close($conexion); }

else
{ echo 
"No creado"mysql_close ($conexion); }
?>
  #9 (permalink)  
Antiguo 09/12/2005, 16:28
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
Puntos: 1
Lo que falla es la forma en que haces tu conexion porque el codigo que has puesto es correcto deberias de poner el codigo de ""infoadmin.php".

Este codigo funciona perfectamente:

Código PHP:

$crear 
"CREATE TABLE administradores (";
$crear .= "id int(5) NOT NULL AUTO_INCREMENT PRIMARY KEY, ";
$crear .= "usuario varchar(12) NOT NULL, ";
$crear .= "clave varchar(12) NOT NULL)"

$host="localhost";
$usuario="usuario";
$password="clave";
$db="base_datos";


 
$result mysql_pconnect("$host""$usuario""$password");
   if (!
$result){echo "no conecta";}
   if (!
mysql_select_db("$db")){echo "no conecta";}
   
   
$result mysql_query ($crear);
      if (!
$result){echo "no crea";}
      else {echo 
"creado";} 
__________________
Ciao y suerte.
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 03:34.