Traitement des "Bleus de boutons arrière" & # 8221;
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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
SERVER['PHP_SELF']; // get list of screens used in this session $page_stack =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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
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;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!
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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .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!
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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNextTous 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!
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!
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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
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 dataTous 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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
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;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!
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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .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!
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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNextTous 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!
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!
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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
SESSION['page_stack'] = $page_stack; } // if if (count($page_stack) > 0) { $previous = array_pop($page_stack); // reactivate previous script $location = 'http://' .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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
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;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!
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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .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!
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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNextTous 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!
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!
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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
SERVER['HTTP_HOST'] .$previous; } else { // no previous scripts, so terminate session session_unset(); session_destroy(); // revert to default start page $location = 'http://' .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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
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;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!
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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .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!
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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNextTous 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!
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!
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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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.
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;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!
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.
- Où appelez-vous chaque fonction?
- Quelle fonction devrait être appelée en premier et qui ensuite, et qui troisième?
- Toutes les fonctions seront-elles appelées dans tous les fichiers d'une application?
- 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
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;
}