Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/07/2008, 11:10
rvelezb
 
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 81
Antigüedad: 20 años, 9 meses
Puntos: 1
Exclamación Sistema de autentificación

Hola, estoy implementando un sistema de autentificación sencillito, en la que en la página principal, se solicita un y password para acceder a la aplicación, y después en otra página llamada "control_acceso.php", coteja los datos introducidos con los que hay guardados en una base de datos, y dependiendo de si se han introducido correctamente, pues entra en la aplicación, o vuelve a la página de principal para pedrite el usuario y contraseña, nada del otro mundo, pero no sé porque me dice siempre que los datos son erróneos, incluso cuando meto los correctos. En la página principal tengo el formulario y estas dos líneas :

Código PHP:
if ($_GET["errorusuario"] == "si")
   echo 
"Datos incorrectos, vuelva a intentarlo"
control_acceso.php
Código PHP:
ob_start(); // Para que no haya problemas con el buffer de salida después al enviar cabeceras, como 'header()'
include ("conexion.php"); // incluímos la función para la conexión a la B.D.
$link Conectarse("servidor""usuario""password""base_datos"); // llama a la función del fichero anteriormente incluido
$consulta "SELECT * FROM usuarios WHERE usuario = ";
$consulta .= $_POST['user'] . " AND clave = " $_POST['passwd'];
$respuesta mysql_query($consulta$link);
// 'user' y 'passwd' son los nombres de los campo del formulario, y 'usuario' y 'clave' son los nombres de los campos de la tabla, 'usuarios', de la B.D. que es donde está guardado el nombre de usuario y la contraseña
if (mysql_num_rows($respuesta) != 0)
{
   
// usuario y contraseña válidos
   // defino una sesión y guardo los datos
   
session_start();
   
$_SESSION["autentificado"] = "SI";
   
header("Location: menu.php");
}
else
{
   
// si no existe, le mando otra vez a la portada
   
header("Location: index.php?errorusuario=si");
}
mysql_close($link); 
En cada página que quiero que se necesite autorización, le añado la siguiente línea:
Código PHP:
require_once ("seguridad.php"); 
seguridad.php
Código PHP:
// Inicio la sesión
session_start();
// COMPRUEBO QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != "SI")
{
// si no existe, envío a la página de autentificación
   
header("Location: index.php");
// además salgo de este script
   
exit();

¿Qué es lo que falla?, ¿porqué me dice siempre que los datos son erróneos?.


Un saludo.