Question

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau 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 = 

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

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

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau 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 = 

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

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

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau 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 = 

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

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

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau 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 = 

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

<*>      

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
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;

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

<*>      

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

<*>      

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNext
     

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
SERVER['PHP_SELF']; // get list of screens used in this session $page_stack =

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau 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 = 

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

<*>      

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
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;

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

<*>      

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

<*>      

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNext
     

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
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

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau 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 = 

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

<*>      

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
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;

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

<*>      

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

<*>      

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNext
     

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
SESSION['page_stack'] = $page_stack; } // if if (count($page_stack) > 0) { $previous = array_pop($page_stack); // reactivate previous script $location = 'http://' .

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau 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 = 

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

<*>      

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
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;

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

<*>      

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

<*>      

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNext
     

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
SERVER['HTTP_HOST'] .$previous; } else { // no previous scripts, so terminate session session_unset(); session_destroy(); // revert to default start page $location = 'http://' .

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau 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 = 

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

<*>      

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la pile de programme et prendre   action appropriée si ce n'est pas le cas.

<*>      

L'action entreprise dépend de si   le script actuel existe dans la   pile de programme ou non. Il ya trois   possibilités:

     
      
  • Le script actuel ne se trouve pas dans le tableau $ page_stack, auquel cas il est   pas autorisé à continuer. Au lieu de cela il est   remplacé par le script qui est à la   fin du tableau.
  •   
  • Le script actuel est dans le   $ page_stack, mais ce n’est pas le   dernière entrée. Dans ce cas tous   les entrées suivantes dans le tableau sont   supprimé.
  •   
  • Le script actuel est la dernière entrée   dans le tableau $ page_stack. C'est   la situation attendue. Boit tout   rond!
  •   
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;

Vous êtes déjà tombé sur un tutoriel que vous jugez utile, mais que vous expliquez mal? C'est mon dilemme. Je sais que CE tutoriel a une certaine valeur, mais je ne parviens tout simplement pas à l'obtenir.

  1. Où appelez-vous chaque fonction?
  2. Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  3. Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
  4. Est-ce que quelqu'un connaît un meilleur moyen de guérir le "Back Button Blues"?

Je me demande si cela suscitera une bonne conversation avec l'auteur de l'article. Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les entrées de formulaire en double dans une base de données lorsque le bouton Précédent est enfoncé. En gros, vous souhaitez contrôler le bouton Précédent en appelant les trois fonctions suivantes lors de l’exécution des scripts de votre application. Dans quel ordre appeler les fonctions (voir les questions ci-dessus) n’est pas clair dans le tutoriel.

  

Tous les mouvements vers l’avant sont effectués par   en utilisant ma fonction scriptNext. C'est   appelé dans le script en cours dans   pour activer le nouveau script.

<*>      

Lorsqu'un script a terminé son   le traitement se termine en appelant mon   fonction scriptPrevious. Cette volonté   déposer le script en cours à la fin   de la pile et réactiver le   script précédent dans le tableau.

<*>      

Chaque fois qu'un script est activé, ce qui   peut être soit par le scriptNext   ou fonctions scriptPrevious, ou   en raison du bouton BACK dans le   navigateur, il appellera le suivant   fonction pour vérifier que c'est le   script actuel selon le   contenu de la

Était-ce utile?

La solution

C’est une bonne discussion, mais vous devriez vous pencher davantage sur le message PRG (Post Redirect Get) également connu sous le nom de "Get after Post".

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

Autres conseils

Si vous ne comprenez pas mon article, vous devriez examiner de plus près La figure 1 décrit un scénario typique dans lequel un utilisateur passe à travers une série d’écrans: connexion, menu, liste, recherche, ajout et mise à jour. Quand je décris un mouvement de FORWARDS, je veux dire que l’écran actuel est suspendu tant qu’un nouvel écran est activé. Cela se produit lorsque l'utilisateur appuie sur un lien dans l'écran actuel. Lorsque je qualifie un mouvement de BACKWARDS, je veux dire que l'utilisateur termine l'écran en cours (en appuyant sur le bouton QUIT ou SUBMIT) et revient à l'écran précédent, qui reprend le traitement à l'endroit où il s'était arrêté. Cela peut inclure l’incorporation de toutes les modifications apportées à l’écran qui vient de prendre fin.

C’est là que la maintenance d’une pile de pages indépendante de l’historique du navigateur est cruciale - la pile de pages est conservée par l’application et est utilisée pour vérifier toutes les demandes. Celles-ci peuvent être valables pour le navigateur, mais peuvent être identifiées par la candidature comme non valides et traitées en conséquence.

La pile de pages est gérée par deux fonctions:

  • scriptNext () est utilisé pour traiter une Mouvement FORWARDS, qui ajoute une nouvelle entrée à la fin de la pile et active la nouvelle entrée.
  • scriptPrevious () est utilisé pour traiter un mouvement de recul, qui supprime la dernière entrée de la pile et réactive l'entrée précédente.

Prenez maintenant la situation dans l'exemple où l'utilisateur a accédé à la page 4 de l'écran LIST, est passé à l'écran ADD, puis est retourné à la page 5 de l'écran LIST. La dernière action de l’écran ADD consistait à appuyer sur le bouton SUBMIT (Soumission), qui utilisait la méthode POST pour envoyer au serveur les détails ajoutés à la base de données, après quoi elle s’est terminée automatiquement et est revenue à l’écran LIST.

Si vous appuyez donc sur le bouton RETOUR en page 5 de l'écran LISTE, l'historique du navigateur générera une demande pour la dernière action sur l'écran AJOUTER, qui était un POST. Cette requête est valide pour le navigateur, mais pas pour l’application. Comment l'application peut-elle décider que la demande est invalide? En vérifiant avec sa pile de pages. Lorsque l'écran ADD a été fermé, son entrée a été supprimée de la pile de pages. Par conséquent, toute demande d'écran qui ne se trouve pas dans la pile de pages peut toujours être traitée comme non valide. Dans ce cas, la demande non valide peut être redirigée vers la dernière entrée de la pile.

Les réponses à vos questions doivent donc être évidentes:

  • Q: Où appelez-vous chaque fonction?
  • A: Vous appelez le scriptNext () fonctionner lorsque l'utilisateur choisit de naviguer vers un nouvel écran, et appelez scriptPrevious () fonction lorsque l'utilisateur se termine l'écran actuel.
  • Q: Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
  • A: Chaque fonction est appelée dans réponse à une action choisie par le utilisateur, donc une seule fonction est utilisée à la fois.
  • Q: Toutes les fonctions seront-elles appelées? tous les fichiers d'une application?
  • A: Toutes les fonctions devraient être disponibles dans tous les fichiers d'une application, mais appelé uniquement lorsqu'il est choisi par l'utilisateur.

Si vous souhaitez voir ces idées en action, vous pouvez télécharger mon exemple. application .

  

Ce qui m'intéresse particulièrement, c’est le contrôle du bouton Précédent afin d’empêcher les doublons de formulaire dans une base de données lorsque vous appuyez sur le bouton Précédent.

Votre prémisse est fausse. "Back Button Blues" n'existe pas, si vous concevez votre application en tant qu'application Web. Si vous concevez votre application sans aucun état côté serveur, vous ne rencontrerez jamais ce problème dans le premier cas. Cette approche minimaliste des applications Web fonctionne remarquablement bien et est généralement appelée REST.

@ troelskn

  

Si vous concevez votre application sans état côté serveur ....

Il n’est pas possible de concevoir une application efficace qui n’ait pas d’état, sinon vous n’avez qu’une collection de pages individuelles qui ne communiquent pas entre elles. Le maintien de l'état sur le client étant source de problèmes, il n'y a pas d'autre solution efficace que de conserver l'état sur le serveur.

@Marston.

J'ai résolu le problème avec post / redirect / get mais je crois que le tutoriel a du mérite et peut-être Tony Marston peut-il en dire plus. Et comment cela pourrait être utilisé pour résoudre pas nécessairement mon problème particulier mais peut-être quelque chose de similaire. Ou comment vaut-il mieux que post / redirect / get si les fonctions peuvent en fait être utilisées pour résoudre mon problème particulier. Je pense que ce sera un bon ajout à la communauté ici.

if (<*>POST) {
    process_input(<*>POST);
    header("Location: <*>SERVER[HTTP_REFERER]");
    exit;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top