Foros del Web » Programando para Internet » PHP »

Validar usuario/password en un formulario

Estas en el tema de Validar usuario/password en un formulario en el foro de PHP en Foros del Web. ¿Podríais decirme en qué falla este código? Tengo creada una bd en MYSQL, cin una tabla USUARIOS, q tiene los campos 'usuario' y 'contraseña'. Al ...
  #1 (permalink)  
Antiguo 01/05/2005, 05:31
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 18 años, 11 meses
Puntos: 1
Validar usuario/password en un formulario

¿Podríais decirme en qué falla este código?
Tengo creada una bd en MYSQL, cin una tabla USUARIOS, q tiene los campos 'usuario' y 'contraseña'.
Al rellenar el formulario con una tupla q está insertada me dice q no encuentra ninguan fila, ¿por qué es?

<?php
include("conexion.php");
$servconex = conectarbd();
$bdconex = mysql_select_db("BD_INCIDENCIAS", $servconex);
if (!$bdconex) {
echo ("<h1>La base de datos no está disponible</h1>");
exit();
}
$ssql = "SELECT * FROM USUARIOS WHERE usuario='usuario' and password='contraseña'";
$rs = mysql_query($ssql, $servconex);
//echo mysql_num_rows($rs);
if (mysql_num_rows($rs)!=0) {
session_start();
$_SESSION['autentificado'] = 'si';
echo "El usuario ";
echo $usuario;
echo " con contraseña ";
echo $contraseña;
echo " ha entrado en el sistema";
exit();
}
else {
//header("Location: error1.php");
include("error1.php");
exit;
}
mysql_free_result($rs);
mysql_close($servconex);
?>
  #2 (permalink)  
Antiguo 01/05/2005, 06:10
 
Fecha de Ingreso: mayo-2005
Mensajes: 103
Antigüedad: 18 años, 11 meses
Puntos: 1
Asi a simple vista lo que he detectado es esto:

$ssql = "SELECT * FROM USUARIOS WHERE usuario='usuario' and password='contraseña'";

Cuando creo que deberia ser asi:

$ssql = "SELECT * FROM USUARIOS WHERE usuario='$usuario' and password='$contrasena'";

Un consejo, no utilices Ñ's a la hora de programar.

Un saludo
  #3 (permalink)  
Antiguo 01/05/2005, 13:46
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 4 meses
Puntos: 8
no veo en ninguna parte de tu código que recogas las variables del formularios.

$usuario=$_post("usuario");
$contrasena=$_post("password");

$ssql = "SELECT * FROM USUARIOS WHERE usuario='$usuario' and password='$contrasena'";


ojo: cuidado con las injección SQL
  #4 (permalink)  
Antiguo 02/05/2005, 01:19
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Ambos tienes razón y añado que la línea "session_start();" debe estar hasta el principio de tu script.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 02/05/2005, 05:46
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 18 años, 11 meses
Puntos: 1
Lo siento pero soy novata con PHP. ¿Para qué hay que recoger las variables del formulario? ¿Te refieres que, al pulsar en 'submit', se de valor a las variables con lo q el usuario haya escrito en las cajas de texto?
Gracias!!!
  #6 (permalink)  
Antiguo 02/05/2005, 05:49
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 18 años, 11 meses
Puntos: 1
¿Recoger variables?

Lo siento pero soy novata con PHP. ¿Para qué hay que recoger las variables del formulario? ¿Te refieres que, al pulsar en 'submit', se de valor a las variables con lo q el usuario haya escrito en las cajas de texto?
Y otra duda. Creo q estoy acostumbrada a otros lemguajes, y no sé si con PHP se puede hacer lo q intento, o por lo menos, creo q se hará de otra forma... Quiero almacenar en una variable el resultado de una consulta sql, q me devuelve un DNI. ¿Cómo puedo trabajar con esa 'cadena' o ese resultado?
Gracias!!!
  #7 (permalink)  
Antiguo 03/05/2005, 05:20
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
En efecto... si tu script dependerá de valores introducidos de un formulario... obviamente tendrás primero que recojer esos valores para poder ocuparlos.

Para manejar los datos de una consulta tendrás que convertirlo en matriz... ejemplo:
Código PHP:
$consultamysql_query("SELECT * FROM tabla");
while(
$row=mysql_fetch_assoc($consulta)) { // aquí "descomponemos" las filas en columnas
     
echo $row['campo']."<br>"// 
     
echo $row['otro_campo']."<br>";

Ve las FAQ, busca en el foro... consultas las funciones que desconoscas en www.php.net .

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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:18.