Ver Mensaje Individual
  #9 (permalink)  
Antiguo 11/06/2010, 09:37
erxaca
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 4 meses
Puntos: 4
Respuesta: Fallo con sesiones

El fallo esta en este script
Código PHP:
<?
session_start
();
$_SESSION["user"]=$_POST['usuario'];
$_SESSION["pass"]=$_POST['clave'];
$_SESSION["falla"]=0;
?>
<meta http-equiv=”refresh” content=”3; url=ingreso2.php” />

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>

<?
$user
=$_POST['usuario'];
$pass=$_POST['clave'];
if(empty(
$user))
{
  echo 
'No ha ingresado un nombre de usuario. <br> Sera redirigido de vuelta.';
  
$_SESSION["falla"]=1;
}
/* Utilizaremos la función empty de PHP mediante la cual preguntaremos si nuestra variable $user (la que contiene el valor de usuario del formulario) se encuentra vacia, lo que significaría que el usuario no ingreso nada en el campo. Si este fuera el caso, desplegaríamos un mensaje en la página con “echo” y luego cambiariamos el valor de nuestra variable “falla” (la bandera definida en el vector de sesión) a 1. En caso de que el usuario no este vacío, pasamos al else y revisamos lo demás */
else
{
  if(empty(
$pass))
{
  echo 
'No ha ingresado una clave. <br> Sera redirigido de vuelta.';
  
$_SESSION["falla"]=1;
}
/* Haremos la misma comprobación anterior pero en este caso con la variable $pass (que almacena el valor de clave del formulario). En caso de que no este vacía, pasamos al else */
else
{
  
$con=mysql_connect("localhost","root","");
  
mysql_select_db("usuario"$con);
  
$sql="SELECT usuario,clave,nombre FROM usuario WHERE usuario='$user'";
  
$resultado=mysql_query($sql,$con);
  if(!
$resultado)
  {
    
$error=mysql_error();
    print 
$error;
    
$_SESSION["falla"]=1;
    exit();
  }
  if(
mysql_affected_rows()==0)
  {
    echo 
'El usuario no fue encontrado. <br> Sera redirigido de vuelta.';
    
$_SESSION["falla"]=1;
    exit();
  }
  else
  {
    
$row=mysql_fetch_array($resultado);
    
$nombre=$row['nombre'];
    if(
$user==$row['usuario'])
    {
      if(
$pass==$row['clave'])
      {
        echo 
'<b>Bienvenido '.$nombre.'</b>. <br> Espere mientras es redirigido';
        
$_SESSION["nombre"]=$nombre;
      }
    else
    {
      echo 
'Hay un error en la clave. <br> Espere mientras es redirigido';
      
$_SESSION["falla"]=1;
    }
    }
    else
    {
      echo 
'Hay un error en el nombre de usuario. <br> Espere mientras es redirigido';
      
$_SESSION["falla"]=1;
    }
  }
}
}

?>

</body>
</html>
no me ejcuta esta linea
Código PHP:
<meta http-equiv=”refresh” content=”3url=ingreso2.php” />