Pregunta

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

function scriptNext($script_id)
// proceed forwards to a new script
{
   if (empty($script_id)) {
      trigger_error("script id is not defined", E_USER_ERROR);
   } // if

   // get list of screens used in this session
   $page_stack = 

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

function scriptPrevious()
// go back to the previous script (as defined in PAGE_STACK)
{
   // get id of current script
   $script_id = 

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

function scriptNext($script_id)
// proceed forwards to a new script
{
   if (empty($script_id)) {
      trigger_error("script id is not defined", E_USER_ERROR);
   } // if

   // get list of screens used in this session
   $page_stack = 

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

function initSession()
// initialise session data
{
   // get program stack
   if (isset(

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

function scriptNext($script_id)
// proceed forwards to a new script
{
   if (empty($script_id)) {
      trigger_error("script id is not defined", E_USER_ERROR);
   } // if

   // get list of screens used in this session
   $page_stack = 

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

function scriptPrevious()
// go back to the previous script (as defined in PAGE_STACK)
{
   // get id of current script
   $script_id = 

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

function scriptNext($script_id)
// proceed forwards to a new script
{
   if (empty($script_id)) {
      trigger_error("script id is not defined", E_USER_ERROR);
   } // if

   // get list of screens used in this session
   $page_stack = 

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SESSION['page_stack']; if (in_array($script_id, $page_stack)) { // remove this item and any following items from the stack array do { $last = array_pop($page_stack); } while ($last != $script_id); } // if // add next script to end of array and update session data $page_stack[] = $script_id;

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNext
     

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SERVER['PHP_SELF']; // get list of screens used in this session $page_stack =

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

function scriptNext($script_id)
// proceed forwards to a new script
{
   if (empty($script_id)) {
      trigger_error("script id is not defined", E_USER_ERROR);
   } // if

   // get list of screens used in this session
   $page_stack = 

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SESSION['page_stack']; if (in_array($script_id, $page_stack)) { // remove this item and any following items from the stack array do { $last = array_pop($page_stack); } while ($last != $script_id); } // if // add next script to end of array and update session data $page_stack[] = $script_id;

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNext
     

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SESSION['page_stack']; if (in_array($script_id, $page_stack)) { // remove this item and any following items from the stack array do { $last = array_pop($page_stack); } while ($last != $script_id); // update session data

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

function scriptNext($script_id)
// proceed forwards to a new script
{
   if (empty($script_id)) {
      trigger_error("script id is not defined", E_USER_ERROR);
   } // if

   // get list of screens used in this session
   $page_stack = 

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SESSION['page_stack']; if (in_array($script_id, $page_stack)) { // remove this item and any following items from the stack array do { $last = array_pop($page_stack); } while ($last != $script_id); } // if // add next script to end of array and update session data $page_stack[] = $script_id;

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNext
     

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SESSION['page_stack'] = $page_stack; } // if if (count($page_stack) > 0) { $previous = array_pop($page_stack); // reactivate previous script $location = 'http://' .

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

function scriptNext($script_id)
// proceed forwards to a new script
{
   if (empty($script_id)) {
      trigger_error("script id is not defined", E_USER_ERROR);
   } // if

   // get list of screens used in this session
   $page_stack = 

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SESSION['page_stack']; if (in_array($script_id, $page_stack)) { // remove this item and any following items from the stack array do { $last = array_pop($page_stack); } while ($last != $script_id); } // if // add next script to end of array and update session data $page_stack[] = $script_id;

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNext
     

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SERVER['HTTP_HOST'] .$previous; } else { // no previous scripts, so terminate session session_unset(); session_destroy(); // revert to default start page $location = 'http://' .

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

function scriptNext($script_id)
// proceed forwards to a new script
{
   if (empty($script_id)) {
      trigger_error("script id is not defined", E_USER_ERROR);
   } // if

   // get list of screens used in this session
   $page_stack = 

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SESSION['page_stack']; if (in_array($script_id, $page_stack)) { // remove this item and any following items from the stack array do { $last = array_pop($page_stack); } while ($last != $script_id); } // if // add next script to end of array and update session data $page_stack[] = $script_id;

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevious. Esta voluntad   soltar el script actual desde el final   de la matriz de pila y reactivar el   script anterior en la matriz.

<*>      

Cada vez que se activa un script, que   puede ser a través del scriptNext   o scriptPrevious funciones, o   debido al botón ATRÁS en el   navegador, llamará a lo siguiente   función para verificar que es el   script actual de acuerdo con el   contenido de la pila de programas y tomar   acción apropiada si no es así.

<*>      

La acción tomada depende de si   el script actual existe dentro del   programa de pila o no. Hay tres   posibilidades:

     
      
  • El script actual no está en la matriz $ page_stack, en cuyo caso está   No se permite continuar. En cambio es   reemplazado por el script que está en el   final de la matriz.
  •   
  • El script actual está en el   $ page_stack, pero no es el   última entrada. En este caso todos   las siguientes entradas en la matriz son   eliminado.
  •   
  • El script actual es la última entrada   en la matriz $ page_stack. Esto es   La situación esperada. Bebe todo   redondo!
  •   
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .

¿Alguna vez te topaste con un tutorial que crees que es de gran valor pero no explicado del todo correctamente? Ese es mi dilema. Sé que ESTE TUTORIAL tiene algún valor, pero simplemente no puedo obtenerlo.

  1. ¿Dónde llamas a cada función?
  2. Qué función debería llamarse primero y cuál después, y cuál tercero?
  3. ¿Se invocarán todas las funciones en todos los archivos de una aplicación?
  4. ¿Alguien sabe de una mejor manera de curar el " Back Button Blues " ;?

Me pregunto si esto generará una buena conversación que incluya al autor del artículo. La parte que me interesa particularmente es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás. Básicamente, desea controlar el botón Atrás llamando a las siguientes tres funciones durante la ejecución de los scripts en su aplicación. En qué orden exactamente llamar a las funciones (ver preguntas más arriba) no está claro en el tutorial.

  

Todo el movimiento hacia adelante es realizado por   utilizando mi función scriptNext. Esto es   llamado dentro del script actual en   para activar el nuevo script.

<*>      

Cuando cualquier script ha terminado su   procesarlo termina llamando a mi   función scriptPrevio

¿Fue útil?

Solución

Esa es una buena discusión, pero más al punto que debería estar buscando en Post Redirect Get (PRG), también conocido como "Obtener después de Post".

http://www.theserverside.com/patterns/thread.tss ? thread_id = 20936

Otros consejos

Si no entiende mi artículo, entonces debería echar un vistazo de cerca a figura 1 que representa un escenario típico en el que un usuario pasa a través de una serie de pantallas & # 8211; inicio de sesión, menú, lista, búsqueda, agregar y actualizar. Cuando describo un movimiento de FORWARDS quiero decir que la pantalla actual se suspende mientras se activa una nueva pantalla. Esto sucede cuando el usuario presiona un enlace en la pantalla actual. Cuando describo un movimiento como HACIA ATRÁS, quiero decir que el usuario finaliza la pantalla actual (presionando el botón SALIR o ENVIAR) y vuelve a la pantalla anterior, que reanuda el procesamiento desde donde se dejó. Esto puede incluir la incorporación de cualquier cambio realizado en la pantalla que acaba de finalizar.

Aquí es donde mantener una pila de páginas que es independiente del historial del navegador es crucial & # 8211; la aplicación mantiene la pila de páginas y se utiliza para verificar todas las solicitudes. Estos pueden ser válidos en lo que respecta al navegador, pero la aplicación puede identificarlos como no válidos y tratarlos en consecuencia.

La pila de páginas es mantenida por dos funciones:

  • scriptNext () se utiliza para procesar un FORWARDS movimiento, que agrega un nuevo entrada al final de la pila y activa la nueva entrada.
  • scriptPrevious () se utiliza para procesar un movimiento HACIA ATRÁS, que elimina la última entrada de la pila y reactiva la entrada anterior.

Ahora tome la situación en el ejemplo en el que el usuario ha navegado a la página 4 de la pantalla LISTA, ha entrado en la pantalla AGREGAR y luego regresó a la página 5 de la pantalla LISTA. La última acción en la pantalla AGREGAR fue presionar el botón ENVIAR que utilizó el método POST para enviar detalles al servidor que se agregaron a la base de datos, después de lo cual finalizó automáticamente y regresó a la pantalla LISTA.

Si, por lo tanto, presiona el botón ATRÁS mientras está en la página 5 de la pantalla LISTA, el historial del navegador generará una solicitud para la última acción en la pantalla AGREGAR, que fue una POST. Esta es una solicitud válida en lo que respecta al navegador, pero no en lo que respecta a la aplicación. ¿Cómo puede la aplicación decidir que la solicitud no es válida? Al consultar con su pila de páginas. Cuando se finalizó la pantalla ADD, su entrada se eliminó de la pila de páginas, por lo tanto, cualquier solicitud de una pantalla que no esté en la pila de páginas siempre se puede tratar como no válida. En este caso, la solicitud no válida se puede redirigir a la última entrada en la pila.

Por lo tanto, las respuestas a sus preguntas deberían ser obvias:

  • P: ¿Dónde llama a cada función?
  • A: Llamas al scriptNext () funcionar cuando el usuario elige navegar hacia adelante a una nueva pantalla, y llame al scriptPrevious () funcionar cuando el usuario termina la pantalla actual.
  • P: ¿Qué función debería llamarse? primero y cuál después, y cuál tercero?
  • A: cada función se llama en respuesta a una acción elegida por el usuario, por lo que solo se utiliza una función a la vez.
  • P: ¿Se invocarán todas las funciones? todos los archivos en una aplicación?
  • A: todas las funciones deben estar disponibles en todos los archivos en una aplicación, pero solo se llama cuando lo elige el usuario.

Si desea ver estas ideas en acción, puede descargar mi muestra aplicación .

  

La parte en la que estoy particularmente interesado es controlar el botón Atrás para evitar que se formen entradas duplicadas en una base de datos cuando se presiona el botón Atrás.

Tu premisa es incorrecta. No existe tal cosa como '' Back Button Blues '', si diseñas tu aplicación como una aplicación web. Si diseña su aplicación sin ningún estado del lado del servidor, nunca se encontrará con este problema en el primer caso. Este enfoque minimalista para las aplicaciones web funciona notablemente bien, y generalmente se conoce como REST.

@ troelskn

  

Si diseña su aplicación sin ningún estado del lado del servidor ...

No es posible diseñar una aplicación efectiva que no tenga estado, de lo contrario, todo lo que tiene es una colección de páginas individuales que no se comunican entre sí. Como mantener el estado en el cliente está plagado de problemas, no hay otra alternativa efectiva que mantener el estado en el servidor.

@Marston.

Resolví el problema con post / redirect / get pero creo que el tutorial tiene algún mérito y tal vez Tony Marston pueda dar más detalles. Y cómo podría usarse para resolver no necesariamente mi problema particular, sino quizás algo similar. ¿O cómo es mejor que publicar / redirigir / obtener si las funciones se pueden utilizar para resolver mi problema en particular? Creo que esta será una buena adición a la comunidad aquí.

if (<*>POST) {
    process_input(<*>POST);
    header("Location: <*>SERVER[HTTP_REFERER]");
    exit;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top