Solucion
Donde estava el problema ?
Pues en esta linea
se supone que la variable $pass esta vacia
y puesto a eso se hace la consulta con datos vacios
Es obvio que no va a devolver ningun resultado
por lo que la variable $result['password'] tambien estara vacia
en ese caso las dos son iguales y el sistema te da el acceso.
if($result['password']==$pass)
Solucion
Solo me concede el acceso si la consulta arroja datos.
if( mysql_num_rows($sql)) 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="";
$tabla="usuarios";
$conexion=mysql_connect("localhost","root","") 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( mysql_num_rows($sql))
{
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
{
unset($_POST);
echo "Login Incorrecto";
echo "<meta http-equiv=Refresh content=1;url=index.php>";
}
}
}
?>