Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/07/2010, 01:34
cyber_dark
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 14 años, 4 meses
Puntos: 3
Respuesta: Datos visibles solo para usuarios registrados

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.