Ver Mensaje Individual
  #6 (permalink)  
Antiguo 18/07/2013, 15:43
fcotorgi
 
Fecha de Ingreso: julio-2013
Mensajes: 53
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Error "Out of memory" usando mysqli

Gracias a todos por vuestra colaboración. Intentaré afinar el problema según lo que me comentáis.

A GatorV, le indico lo que hay en la linea 252:

Código PHP:
Ver original
  1. $this->iniciar_sesion($_POST['usuario'], $_POST['clave']);

en el siguiente contexto:

Código PHP:
Ver original
  1. public function iniciar_sesion(){
  2.         //Se procesa la información.
  3.         if (isset($_POST['usuario'])){
  4.             if (isset($_POST['clave'])){
  5.                 $this->iniciar_sesion($_POST['usuario'], $_POST['clave']);
  6.                 header('Location: ' . $_SERVER['SERVER_NAME']);
  7.             }else{
  8.                 echo "          <p>\n";
  9.                 echo "            <em>Resultado:</em> Por favor, introduzca la clave.\n";
  10.                 echo "          </p>\n";
  11.             }
  12.         }else{
  13.             echo "          <p>\n";
  14.             echo "            <em>Resultado:</em> Por favor, introduzca su nombre de usuario.\n";
  15.             echo "          </p>\n";
  16.         }
  17.     }

Esta función es llamada:

Código PHP:
Ver original
  1. //Creación de la página.
  2. $web = new Recepcion(AUTOR,
  3.                      FECHA_CREACION,
  4.                      FECHA_MODIFICACION,
  5.                      VERSION);
  6.  
  7. $web->escribir_doctype();
  8. $web->iniciar_html();
  9.     $web->escribir_head();
  10.     $web->iniciar_body();
  11.         $web->escribir_capa_superpuesta();
  12.         $web->iniciar_contenedor();
  13.             $web->iniciar_encabezamiento();
  14.                 $web->escribir_menu_superior();
  15.                 $web->escribir_submenu_superior();
  16.                 $web->escribir_mensaje_de_informacion('');
  17.                 $web->escribir_mensaje_de_aviso('');
  18.                 $web->escribir_mensaje_de_exito('');
  19.                 $web->escribir_mensaje_de_error('');
  20.             $web->finalizar_encabezamiento();
  21.             $web->iniciar_columna_central();
  22.                 $web->iniciar_columna_izquierda();
  23.                     $web->titular_columna_izquierda(TITULO, SUBTITULO);
  24.                     $web->escribir_columna_izquierda();
  25.                     $web->indexar_inicio(HAY_ENLACE_AL_INICIO);
  26.                 $web->finalizar_columna_izquierda();
  27.                 $web->iniciar_columna_derecha();
  28.                     $web->escribir_columna_derecha_introduccion();
  29.                     if(isset($_POST['accion'])){
  30.                         if($_POST['accion']=='iniciar_sesion'){
  31.                             $web->escribir_columna_derecha_inicio_sesion();
  32.                         }elseif($_POST['accion']=='recuperar_clave'){
  33.                             $web->escribir_columna_derecha_recuperacion_clave();
  34.                         }elseif($_POST['accion']=='registrar_usuario'){
  35.                             $web->escribir_columna_derecha_registro_usuario();
  36.                         }else{
  37.                             //Nada.
  38.                         }
  39.                     }else{
  40.                         //Nada.
  41.                     }
  42.                     if(isset($_POST['recuperar_clave'])){
  43.                         $web->enviar_clave();
  44.                     }
  45.                     if(isset($_POST['iniciar_sesion'])){
  46.                         $web->iniciar_sesion();
  47.                     }
  48.                     if(isset($_POST['registrar_usuario'])){
  49.                         $web->registrar_usuario();
  50.                     }
  51.                 $web->finalizar_columna_derecha();
  52.             $web->finalizar_columna_central();
  53.         $web->finalizar_contenedor();
  54.     $web->finalizar_body();
  55.  $web->finalizar_html();

El parámetro "iniciar_sesion" es recibido del siguiente formulario:

Código PHP:
Ver original
  1. public function escribir_columna_derecha_inicio_sesion(){
  2.         echo "          <p>\n";
  3.         echo "            <em>Inicio de sesión</em>";
  4.         echo "          </p>\n";
  5.         echo "          <p>\n";
  6.         echo "            Por favor, rellene los campos abajo descritos\n";
  7.         echo "            si desea iniciar una sesión no anónima.\n";
  8.         echo "          </p>\n";
  9.         echo "          <p>\n";
  10.         echo "            Atenci&oacute;n: La p&aacute;gina se encuentra todav&iacute;a en construcci&oacute;n\n";
  11.         echo "            y no se almacenan de forma persistente los usuario. Es por ello que todas las sesiones son,\n";
  12.         echo "            por ahora anónimas.\n";
  13.         echo "          </p>\n";
  14.         echo "          <p>\n";
  15.         echo "            Disculpe la molestia y gracias por su confianza.\n";
  16.         echo "          </p>\n";
  17.         echo "          \n";
  18.         echo "          <form id='sesion' name='sesion' method='post' action='".$_SERVER['PHP_SELF']."'>\n";
  19.         echo "            <p>\n";
  20.         echo "              <label>\n";
  21.         echo "                Nombre de usuario*:\n";
  22.         echo "                <br/>\n";
  23.         echo "                <input id='usuario' name='usuario' type='text' size='30%' />\n";
  24.         echo "              </label>\n";
  25.         echo "            </p>\n";
  26.         echo "            <p>\n";
  27.         echo "              <label>\n";
  28.         echo "                Contraseña*:\n";
  29.         echo "                <br/>\n";
  30.         echo "                <input id='clave' name='clave' type='text' size='30%' />\n";
  31.         echo "              </label>\n";
  32.         echo "            </p>\n";
  33.         echo "            <p>\n";
  34.         echo "             <input id='iniciar_sesión' name='iniciar_sesion' type='submit' value='Iniciar' />\n";
  35.         echo "            </p>\n";
  36.         echo "          </form>\n";
  37.         echo "          \n";
  38.     }

Como podéis ver, no hay ninguna rutina de repetición en todo el código.

Respecto a las llaves, nunca he tenido problema en introducir el objeto y su método en una cadena destinada a ser una consulta SQL.

P.D. gnzsoloyo, gracias por cambiar el post. La verdad que cuando fui a publicarlo dudaba de ponerlo en un lado o en otro.