Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/07/2013, 06:50
fcotorgi
 
Fecha de Ingreso: julio-2013
Mensajes: 53
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Pérdida de la sesión (I)

Disculpad, perdí el último tag en el primer post de este tema: reenvío el código para que sea más fácil su lectura:

Código PHP:
Ver original
  1. <?php
  2. //Inicio de sesión.
  3. //Ficheros requeridos.
  4. require_once 'Web.php';
  5. require_once 'usuario.php';
  6. //Creación de la clase Biblioteca.
  7. class Recepcion extends Web{
  8.     ...
  9.     public function escribir_submenu_superior(){
  10.         echo " <!-- Submenú superior -->\n";
  11.         echo " <div class='submenu' id='submenu'>\n";
  12.         echo " \n";
  13.         if((!isset($_SESSION)) || ($this->leer_acceso() == $this::USUARIO_ANONIMO)){
  14.                 echo "     <form class='recepcion' id='inicio_sesion' action='".$_SERVER['PHP_SELF']."' method='post'>\n";
  15.                 echo "         <input type='hidden' name='accion' value='iniciar_sesion'>\n";
  16.                 echo "         <a href='javascript:document.getElementById(\"inicio_ sesion\").submit();'>Iniciar sesión</a> |\n";
  17.                 echo "     </form>\n";
  18.         }else{
  19.                 echo "     <form class='recepcion' id='fin_sesion' action='".$_SERVER['PHP_SELF']."' method='post'>\n";
  20.                 echo "         <input type='hidden' name='accion' value='finalizar_sesion'>\n";
  21.                 echo "         <a href='javascript:document.getElementById(\"finalizar_sesion\").submit();'>Finalizar sesión</a> |\n";
  22.                 echo "     </form>\n";
  23.         }
  24.         echo " \n";
  25.         echo "       <form class='recepcion' id='recuperacion_clave' action='' method='post'>\n";
  26.         echo "           <input type='hidden' name='accion' value='recuperar_clave'>\n";
  27.         echo "           <a href='javascript:document.getElementById(\"recuper acion_clave\").submit();'>Recuperar la contraseña olvidada</a> |\n";
  28.         echo "       </form>\n";
  29.         echo " \n";
  30.         echo "       <form class='recepcion' id='registro_usuario' action='' method='post'>\n";
  31.         echo "           <input type='hidden' name='accion' value='registrar_usuario'>\n";
  32.         echo "           <a href='javascript:document.getElementById(\"registr o_usuario\").submit();'>Registrarse</a>\n";
  33.         echo "       </form>\n";
  34.         echo " \n";
  35.         echo " </div>\n";
  36.         echo " <!-- Submenú superior (fin) -->\n";
  37.         echo " \n";
  38.     }
  39.     ...
  40.     public function escribir_columna_derecha_inicio_sesion(){
  41.         ...
  42.         echo " <form id='sesion' name='sesion' method='post' action='".$_SERVER['PHP_SELF']."'>\n";
  43.         echo "     <p>\n";
  44.         echo "         <label>\n";
  45.         echo "             Nombre de usuario*:\n";
  46.         echo "             <br/>\n";
  47.         echo "             <input id='usuario' name='usuario' type='text' size='30%' />\n";
  48.         echo "         </label>\n";
  49.         echo "     </p>\n";
  50.         echo "     <p>\n";
  51.         echo "         <label>\n";
  52.         echo "             Contraseña*:\n";
  53.         echo "             <br/>\n";
  54.         echo "             <input id='clave' name='clave' type='text' size='30%' />\n";
  55.         echo "         </label>\n";
  56.         echo "     </p>\n";
  57.         echo "     <p>\n";
  58.         echo "         <input id='iniciar_sesion' name='iniciar_sesion' type='submit' value='Iniciar' />\n";
  59.         echo "     </p>\n";
  60.         echo " </form>\n";
  61.         echo " \n";
  62.     }
  63.     ...
  64.     public function iniciar_sesion(){
  65.         //Se procesa la información.
  66.         if (isset($_POST['usuario'])){
  67.             if (isset($_POST['clave'])){
  68.                 parent::iniciar_sesion($_POST['usuario'], $_POST['clave']);
  69.                 //header('Location: ' . $_SERVER['SERVER_NAME']);
  70.             }else{
  71.                 echo " <p>\n";
  72.                 echo " <em>Resultado:</em> Por favor, introduzca la clave.\n";
  73.                 echo " </p>\n";
  74.             }
  75.         }else{
  76.             echo " <p>\n";
  77.             echo " <em>Resultado:</em> Por favor, introduzca su nombre de usuario.\n";
  78.             echo " </p>\n";
  79.         }
  80.     }
  81.     ...
  82. }
  83. ...
  84. //Creación de la página.
  85. $web = new Recepcion(  AUTOR,
  86.                                         FECHA_CREACION,
  87.                                         FECHA_MODIFICACION,
  88.                                         VERSION);
  89.  
  90. $web->escribir_doctype();
  91. $web->iniciar_html();
  92.     $web->escribir_head();
  93.     $web->iniciar_body();
  94.         $web->escribir_capa_superpuesta();
  95.         $web->iniciar_contenedor();
  96.             $web->iniciar_encabezamiento();
  97.                 $web->escribir_menu_superior();
  98.                 $web->escribir_submenu_superior();
  99.                 $web->escribir_mensaje_de_informacion('');
  100.                 $web->escribir_mensaje_de_aviso('');
  101.                 $web->escribir_mensaje_de_exito('');
  102.                 $web->escribir_mensaje_de_error('');
  103.             $web->finalizar_encabezamiento();
  104.             $web->iniciar_columna_central();
  105.                 $web->iniciar_columna_izquierda();
  106.                     $web->titular_columna_izquierda(TITULO, SUBTITULO);
  107.                     $web->escribir_columna_izquierda();
  108.                     $web->indexar_inicio(HAY_ENLACE_AL_INICIO);
  109.                 $web->finalizar_columna_izquierda();
  110.                 $web->iniciar_columna_derecha();
  111.                     $web->escribir_columna_derecha_introduccion();
  112.                     if(isset($_POST['accion'])){
  113.                         if($_POST['accion']=='iniciar_sesion'){
  114.                             $web->escribir_columna_derecha_inicio_sesion();
  115.                         }elseif($_POST['accion']=='recuperar_clave'){
  116.                             $web->escribir_columna_derecha_recuperacion_clave();
  117.                         }elseif($_POST['accion']=='registrar_usuario'){
  118.                             $web->escribir_columna_derecha_registro_usuario();
  119.                         }else{
  120.                             //Nada.
  121.                         }
  122.                     }else{
  123.                         //Nada.
  124.                     }
  125.                     if(isset($_POST['recuperar_clave'])){
  126.                         $web->enviar_clave();
  127.                     }
  128.                     if(isset($_POST['iniciar_sesion'])){
  129.                         $web->iniciar_sesion();
  130.                     }
  131.                     if(isset($_POST['accion'])){
  132.                         $web->terminar_sesion();
  133.                     }
  134.                     if(isset($_POST['registrar_usuario'])){
  135.                         $web->registrar_usuario();
  136.                     }
  137.                 $web->finalizar_columna_derecha();
  138.             $web->finalizar_columna_central();
  139.         $web->finalizar_contenedor();
  140.     $web->finalizar_body();
  141. $web->finalizar_html();
  142. ?>

Última edición por fcotorgi; 20/07/2013 a las 08:31