Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/05/2009, 14:30
DarkCo0oL
 
Fecha de Ingreso: abril-2009
Mensajes: 27
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta Problema de Login

Un saludo, bueno tengo un formulario con un login, pero la verdad no se por que que al no poner nada y darle click en el boton enviar inicia secion en el Login, ya tengo un isset, pero miren les dejare los codes a ver que puede ser:

Index.PHP

Código PHP:

<?php session_start();

if (isset(
$_SESSION['usuario']))
    {
        echo 
"ya inicio sesion redireccionando";
        echo 
"<meta http-equiv=Refresh content=3;url=calis.php>";
    }
else  {

//verifico si existe o no la variable log para mostrar el Formulario

if(!isset($_POST['log'])){

//imprimo el codigo HTML

echo "<font face='papyrus'>";
echo 
"<center>";
echo 
"<br><br><br><br>";
echo 
"<table bgcolor='lightgreen' align='center' border='3' width='300'>";
echo 
"<tr><th>Login</th></tr>";
echo 
"<tr>";
echo 
"<form action='index.php' method='post'>";
echo 
"<tr>";
echo 
"<tr><th>Username:<input type='text' name='log'></th></tr>";
echo 
"<tr><th>Password:<input type='password' name='pass'></th></tr>";
echo 
"<tr><th><input type='submit' value='Enviar' name='enviar'><input type='reset' value='Cancelar'></th></tr>";
echo 
"</tr>";
echo 
"</form>";


echo 
"</table>";
echo 
"</font>";



}

else {
        
$dbn="NOMBRE_DB";
        
$tabla="usuarios";
        
$conexion=mysql_connect("localhost","NOMBRE_USER","PASS_DB") or die (mysql_error());
        
$db=mysql_select_db($dbn,$conexion) or die (mysql_error());

        
$log=$_POST['log'];
        
$pass=$_POST['pass'];

        
$sql=mysql_query("select * from usuarios where username='$log' and password='$pass'");

        
$result=mysql_fetch_array($sql);

if(
$result['password']==$pass)
    {
        echo 
"Login Correcto REDIRECCIONANDO";

        
// Despues hay ke setear la cookie
        
$_SESSION['usuario']=$log;
        
$_SESSION['pass']=$pass;
        echo 
"<meta http-equiv=Refresh content=3;url=calis.php>";

    }
else
    {
        echo 
"Login Incorrecto";
    }
}
}
?>


CALIS.PHP


Código PHP:

<?php session_start();

if (isset(
$_SESSION['usuario']))
    {
        echo 
"si entras aki es porke estas logeado";
        echo 
"<form action='salir.php' method='post'>
            <tr>
                <th><input type='submit' value='salir'></tr>
            </tr>
        </form>"
;

    }
else {

    echo 
"Inicia sesion primero. redireccionando al index";
    echo 
"<meta http-equiv=Refresh content=3;url=index.php>";
}

?>

SALIR.PHP

Código PHP:

<?php session_start();
    
$_SESSION = array();
    
header("Location: index.php");
?>


DB

Código:
CREATE TABLE `usuarios` (
  `id_usuario` int(6) NOT NULL,
  `tipo_de_usuario` varchar(20) NOT NULL,
  `username` varchar(50) NOT NULL,
  `nombre` varchar(50) NOT NULL,
  `apellido` varchar(50) NOT NULL,
  `telefono` varchar(9) NOT NULL,
  `direccion` varchar(150) NOT NULL,
  `correo` varchar(50) NOT NULL,
  `password` varchar(8) NOT NULL,
  PRIMARY KEY  (`id_usuario`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Ahi coloque los codigos de los archivos en los que me baso, pero es que al loguear si no pongo nada en el formulario y le doy enviar, permite y loguea :S