Retroceder   Foros del Web > Programación para sitios web > PHP

Respuesta
 
Herramientas Desplegado
Antiguo 10-may-2008, 22:18   #1 (permalink)
alfil123 ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2005
Mensajes: 197
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
alfil123 está desconectado   Responder Citando
Antiguo 11-may-2008, 04:13   #2 (permalink)
Antonito está en el buen camino
 
Avatar de Antonito
 
Fecha de Ingreso: noviembre-2002
Ubicación: en la red
Mensajes: 375
Enviar un mensaje por MSN a Antonito Enviar un mensaje por Skype™ a Antonito
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
Crea tu lista de correo y aumenta tus ventas ===> www.FloatingWindow.com
Antonito está desconectado   Responder Citando
Antiguo 11-may-2008, 20:44   #3 (permalink)
alfil123 ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2005
Mensajes: 197
Re: problema en una validacion de datos

ok gracias funciono de maravilla
alfil123 está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 18:40.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93