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

Gracias por la aclaración de lo de las comillas simples. Lo de la velocidad no lo sabía, y lo que con comillas dobles dentro podías poner variables tampoco lo sabía, con comillas dobles, para poner las variables, cerraba las comillas dobles, y antes de poner la variable, ponía el operador de unión de cadenas, el punto (.), entre las cadenas de texto y las variables. Otra cosa, lo de "escapar las cadenas, para evitar inyecciones SQL", ¿eso qué es?, ¿cómo se hace?, como puedes comprobar soy bastante novato en esto, estoy aprendiendo ahora PHP, y aunque algunas cosas me salen sin problemas, otras me cuestan más trabajo, según va aumentando la dificultad, me va costando un poco más, pero busco información en páginas especializadas, foros, libros sobre PHP, etc.

El código completo de control_acceso.php y seguridad.php están puestos en el primer mensaje, lo que está puesto es el código al completo, en cuanto a lo de insertar, ya sé porque antes no insertaba registros, porque la capa de seguridad estaba puesta en el archivo que recibe el formulario, en el que hace la inserción propiamente dicha, lo de seguridad debe de ir en la página del formulario de insertar, ahora que la coloco en su sitio correcto, me ocurre lo mismo que con el listado, que no entra en la página, y me devuelve a la página de login, en resumen, que con la línea:
Código PHP:
require_once ("seguridad.php"); 
no muestra las páginas, me redirige automáticamente a la página de identificarme, aunque aún con la línea esa quitada de las páginas, dejándola en la del menú, cuando en cualquiera de las otras páginas, le doy al botón "volver al menú principal", me devuelve a la página de identificación, y si quito también lo de la seguridad del menú, entonces ya no hay problemas, así que el problema tiene que estar o bien el archivo "seguridad.php", o bien, el "menu.php", en el 1º, en el mensaje original está puesto el código, y del 2º, las únicas líneas de código PHP que tiene son estas:

Al principio de la página, las dos primeras líneas:
Código PHP:
ob_start(); // Permite abrir el buffer de salida para poder enviar 'headers'
require_once("seguridad.php"); // código de autentificación 
Al principio del <body>:
Código PHP:
function salir()
{
// El problema, creo yo, que tiene que estar en esta en este archivo, que cuando entra en el menú de regreso de alguna de las otras páginas, por algún motivo que desconocemos, entra en esta función, y destruye la sesión y vuelve a la página de identificación
   
session_start(); // Inicio la sesión
// Destruyo la variable de sesión para que no se pueda utilizar más y tengamos que volver a loguearnos
   
session_destroy();
   unset(
$_SESSION["autentificado"]);
   
header("Loacation: index.php");

Y por último en el botón de volver al menú principal, cuando se llama a la función 'salir()':
Código HTML:
3. <a href="<?php salir(); ?>">SALIR</a> 
No sé que es lo que falla, pero parece que la clave tiene que estar en la página menu.php, que hay algo que hace que se salga siempre, puede ser por la función de salir, también debe de haber algo que falla en la capa de seguridad que incluyen todas las páginas, seguridad.php, donde se comprueba si se está logueado, ya que siempre me devuelve a la página de identificación, es posible que que algo esté mal, y piense siempre que no estoy identificado, por eso me devuelve a la página de identificación, el código de ese archivo está puesto más arriba, en el primer mensaje.

Un saludo.


P.D.: Aclarar que la función de salir de la página del menú, es en PHP, y no JavaScript, que puede dar lugar a confusiones, todos los fragmentos de código que he colocado aquí, excepto el último, aunque no aparezca, tienen, al principio y al final su bloque separador de código PHP (<?php y ?>).

Última edición por rvelezb; 26/07/2008 a las 06:02 Razón: Añadir más información