Gracias amigo, el código funciona a la perfección y muchas gracias por tú tiempo, ahora solo unas ultimas dudas, me di cuenta que al usar siempre la función <?include ("seguridad.php");?> en cada archivo, cuando inicien sesión siempre los va a redireccionar a un solo archivo, lo ideal seria que por ejemplo como en esta página te redireccione a la pagina anterior antes de tener que inicar sesión, entonces use la variable $_SERVER['HTTP_REFERER'] y quedo de esta forma el código:
Código:
<?php
session_start();
mysql_connect("localhost","miusuario","micontraseña");
mysql_select_db("mibase") or die('No se puede seleccionar la base de datos');
$url=$_SERVER['HTTP_REFERER'];
// !empty me dice si la variable existe y viene llena
if (!empty($_POST['usuario']) && !empty($_POST['contraseña'])) {
//la funcion addslashes me ayuda con la seguridad para eviatar injections
$user=addslashes($_POST['usuario']);
$pass=addslashes($_POST['contraseña']);
$query = mysql_query("SELECT usuario,contraseña FROM usuarios WHERE usuario = '$user' && contraseña='$pass' ") or die(mysql_error());
$cant=mysql_num_rows($query);
if($cant==1)
{
$_SESSION["autentificado"]= "SI";
header ("Location: " .$url);
}
else
{
echo '<script>alert("Este usuario no existe"); location.href="registro.php";</script>';
}
}
else
{
//retornamos un mensaje diciendo que todos los datos no fueron diligenciados;
echo '<script>alert("Todos los campos son obligatorios"); location.href="registro.php";</script>';
}
?>
Y funciona perfecto, el unico detalle, es que si iniciaban sesión desde una página que se llame registro.php, siempre se va a redireccionar a la página registro.php, y lo ideal seria que se valla al index.php, y use este código:
Código:
<?php
session_start();
mysql_connect("localhost","miusuario","micontraseña");
mysql_select_db("mibase") or die('No se puede seleccionar la base de datos');
if($_SERVER['PHP_SELF']=registro.php)
{
$url= "index.php";
}
else
{
$url= $_SERVER['HTTP_REFERER'];
}
// !empty me dice si la variable existe y viene llena
if (!empty($_POST['usuario']) && !empty($_POST['contraseña'])) {
//la funcion addslashes me ayuda con la seguridad para eviatar injections
$user=addslashes($_POST['usuario']);
$pass=addslashes($_POST['contraseña']);
$query = mysql_query("SELECT usuario,contraseña FROM usuarios WHERE usuario = '$user' && contraseña='$pass' ") or die(mysql_error());
$cant=mysql_num_rows($query);
if($cant==1)
{
$_SESSION["autentificado"]= "SI";
header ("Location: " .$url);
}
else
{
echo '<script>alert("Este usuario no existe"); location.href="registro.php";</script>';
}
}
else
{
//retornamos un mensaje diciendo que todos los datos no fueron diligenciados;
echo '<script>alert("Todos los campos son obligatorios"); location.href="registro.php";</script>';
}
?>
Pero no funciona, siempre me manda a la página anterior, espero puedas ayudarme a solucionar esto.