Foros del Web » Programando para Internet » PHP »

problema al validar usuario

Estas en el tema de problema al validar usuario en el foro de PHP en Foros del Web. este es mi index <?php if (isset($_SESSION['k_username'])) { echo '<b>'.$_SESSION['k_username'].'</b>.'; echo '<p><a href="logout.php">Logout</a></p>'; }else{ echo '<p><a href="login.php">Login</a></p> <p><a href="registrar.php">Registrar</a></p>'; } ?> tengo un usuario registrado ...
  #1 (permalink)  
Antiguo 05/02/2010, 10:23
 
Fecha de Ingreso: enero-2010
Mensajes: 152
Antigüedad: 14 años, 2 meses
Puntos: 0
problema al validar usuario

este es mi index
<?php
if (isset($_SESSION['k_username'])) {
echo '<b>'.$_SESSION['k_username'].'</b>.';
echo '<p><a href="logout.php">Logout</a></p>';
}else{
echo '<p><a href="login.php">Login</a></p>
<p><a href="registrar.php">Registrar</a></p>';
}
?>

tengo un usuario registrado d4n13l4 /pass: admin

este es el login
<form action="validar_usuario.php" method="post">
Usuario:<input type="text" name="usuario" size="20" maxlength="20" />
<br />
Password:<input type="password" name="password" size="10" maxlength="10" />
<br />
<input type="submit" value="Ingresar" />
</form>

pero al ingresar los datos no me valida
este es validar_usuario

<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','usuario','password')or die ('Ha fallado la conexión: '.mysql_error()); //les tengo los datos mios //
mysql_select_db('mi_base')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
// Puedes utilizar la funcion para eliminar algun caracter en especifico
//$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
//$password = $HTTP_POST_VARS["password"];
// o puedes convertir los a su entidad HTML aplicable con htmlentities
$usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
$password = $HTTP_POST_VARS["password"];
$result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
if($row = mysql_fetch_array($result)){
if($row["password"] == $password){
$_SESSION["k_username"] = $row['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="index.php">Index</a></p>';
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php
Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "index.php";
</SCRIPT>*/
}else{
echo 'Password incorrecto';
}
}else{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);
}else{
echo 'Debe especificar un usuario y password';
}
mysql_close();
?>

creo que el problema esta en que no defino $row pero no estoy segura
q creen
  #2 (permalink)  
Antiguo 05/02/2010, 10:27
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: problema al validar usuario

En index. usas variables de sesion, pero no inicias la sesion :/
  #3 (permalink)  
Antiguo 05/02/2010, 11:27
 
Fecha de Ingreso: enero-2010
Mensajes: 152
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: problema al validar usuario

nops
es q en index te saluda y te da 2 opciones de login o registrarse
  #4 (permalink)  
Antiguo 05/02/2010, 11:54
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: problema al validar usuario

Si, lo que quiero decir es que las variables $_SESSION no van a estar definidas si no inicias la sesion en el script.

O no entiendo a que te refieres con "al ingresar los datos no me valida"
  #5 (permalink)  
Antiguo 05/02/2010, 11:57
 
Fecha de Ingreso: enero-2010
Mensajes: 152
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: problema al validar usuario

Cita:
Iniciado por darkasecas Ver Mensaje
O no entiendo a que te refieres con "al ingresar los datos no me valida"
que yo ingreso el user y pass correctos y deberia salirme el msje "Ha sido logueado correctamente" como si hiciera el if en validar_usuario pero en vez me dice 'Debe especificar un usuario y password' osea que no entra al if se va directo al else
  #6 (permalink)  
Antiguo 05/02/2010, 12:04
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: problema al validar usuario

Puedes probar imprimiendo $HTTP_POST_VARS para ver que valores trae (que por cierto deberias usar $_POST en su lugar ya que ésta esta obsoleta)
  #7 (permalink)  
Antiguo 05/02/2010, 12:33
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Respuesta: problema al validar usuario

Revisa lo que te dijo darkasecas. No puedes utilizar $_SESSION si es que no se ha inicializado. La primera línea de tu index debe ser:
Código PHP:
session_start(); 
Saludos,
  #8 (permalink)  
Antiguo 05/02/2010, 12:37
 
Fecha de Ingreso: enero-2010
Mensajes: 152
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: problema al validar usuario

el problema era el $HTTP_POST_VARS lo cambie por $_POST y ahi si
xD

Etiquetas: usuarios
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 08:29.