Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   PHP (http://www.forosdelweb.com/f18/)
-   -   problema en una validacion de datos (http://www.forosdelweb.com/f18/problema-validacion-datos-585114/)

alfil123 10/05/2008 22:18

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

Antonito 11/05/2008 04:13

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

alfil123 11/05/2008 20:44

Re: problema en una validacion de datos
 
ok gracias funciono de maravilla


La zona horaria es GMT -6. Ahora son las 19:41.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.