Foros del Web » Programando para Internet » PHP »

problema en una validacion de datos

Estas en el tema de problema en una validacion de datos en el foro de PHP en Foros del Web. hola amigos, estoy tratando de autentificar un usuario en una base de datos en el index este es el form que uso <form action="control.php" method="POST"> ...
  #1 (permalink)  
Antiguo 10/05/2008, 22:18
 
Fecha de Ingreso: agosto-2005
Mensajes: 722
Antigüedad: 18 años, 8 meses
Puntos: 2
problema en una validacion de datos

hola amigos, estoy tratando de autentificar un usuario en una base de datos
en el index este es el form que uso
<form action="control.php" method="POST">
<table align="center" width="225" cellspacing="2" cellpadding="2" border="0">
<tr>
<td colspan="2" align="center"
<?if ($_GET["errorusuario"]=="si"){?>
bgcolor=red><span style="color:ffffff"><b>Datos incorrectos</b></span>
<?}else{?>
bgcolor=#cccccc>Introduce tu clave de acceso
<?}?></td>
</tr>
<tr>
<td align="right">USER:</td>
<td><input type="Text" name="usuario" size="8" maxlength="50"></td>
</tr>
<tr>
<td align="right">PASSWD:</td>
<td><input type="password" name="contrasena" size="8" maxlength="50"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="Submit" value="ENTRAR"></td>
</tr>
</table>
</form>


y este pedaso de codigo para hacer una consulta a la base de datos y determinar si algun registro corresponde
<?
//conecto con la base de datos
$hostname_postales = "localhost";
$username_postales = "root";
$password_postales = "";
//Conexion con la base
$conn = mysql_connect($hostname_postales, $username_postales, $password_postales);
//$conn = mysql_connect("localhost","root","");
//selecciono la BBDD
mysql_select_db("auntificacion",$conn);

//Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT * FROM usuario WHERE nombre_usuario='$usuario' and clave_usuario='$contrasena'";

//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);

//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
session_register("autentificado");
$autentificado = "SI";
header ("Location: aplicacion.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}


amigos porfavor si alguien me puede dar una mano se lo agradeceria
  #2 (permalink)  
Antiguo 11/05/2008, 04:13
Avatar de Antonito  
Fecha de Ingreso: noviembre-2001
Ubicación: en la red
Mensajes: 446
Antigüedad: 22 años, 5 meses
Puntos: 3
Re: problema en una validacion de datos

Hola Alfil,


El problema lo tienes seguramente en qe no recojes por post las variables de usurio y clave:

$usuario=$_POST['usuario'];
$contasena=$_POST['contasena'];

(Esto antes de $ssql=...)

Usar directamente las variables depende de la configuración de tu pnp.ini, así que puede ser que no estés cojiendo las variables, para eso lo mejor es que pintes la consulta por pantalla:


echo ($ssql);

(antes de ejecutarla conbsulta).


De cualquier manera te cuidado porque tu formulario es perfectamente crakeable con un ataque XSS. Así que te recomiendo que leas algo sobre el tema y uses las funciones que tiene PHP para limpiar las entradas de datos en sql.

Un saludo
__________________
Pancho - Consultor de usabilidad
  #3 (permalink)  
Antiguo 11/05/2008, 20:44
 
Fecha de Ingreso: agosto-2005
Mensajes: 722
Antigüedad: 18 años, 8 meses
Puntos: 2
Re: problema en una validacion de datos

ok gracias funciono de maravilla
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 09:30.