IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Gestion des erreurs d'une page à l'autre


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut Gestion des erreurs d'une page à l'autre
    Bonjour à tous,

    j'ai une page_1 et une page_2.

    Si l'internaute veut accéder à la page_2, je vérifie dans la peg_2 si la session connexion existe ( si l'internaute est connecté).
    S'il n'est pas connecté, je veux le renvoyer dans la page_1 en affichant un message d'erreur.

    Mon souci est le suivant : Comment récupérer le message d'erreur de la page_2 et le faire afficher dans la page d'où vient l'internaute ?

    Faut-il que je mette le message d'erreur dans une session ?

    Quelles solution avez-vous à me proposer ?
    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté
    Avatar de Tesing
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2009
    Messages : 272
    Par défaut
    salut,

    oui, les informations de connexion sont stockées dans des variables de session.
    Le message d'erreur n'a pas a être stocké en session, mais c'est aussi une possibilité.

    Le tableau $_SESSION sert à stocker les informations de session. PHP utilise un gestionnaire de session par défaut qui stocke les informations dans des fichiers sur le disque dur.

    Le navigateur du client envoie dans les en têtes HTTP un identifiant de session.
    Pour initialiser une session, tu as la fonction session_start.
    Je te renvoies vers le manuel PHP pour plus d'informations.

  3. #3
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Effectivement, on peut dire que ce n'est pas vraiment le rôle des session de stocker ce genre d'infos, mais c'est tellement plus pratique est simple, alors c'est la technique que j'utilise.

    Le truc cependant, pour éviter de trimballer toutes les éventuelles erreurs au fur et à mesure de la navigation, c'est que dès qu'il faut en créer un, je purge cette donnée juste avant, au cas où.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['messageErreur'] = array();
    Puis comme un message d'erreur a un titre et un contenu, le message est construit de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_SESSION['messageErreur'] = array('titre' => 'ERREUR DE SAISIE',
    					'message' => 'Une erreur de saisie sur ... bla bla bla ...');
    Puis une fois que le message est affiché, re-belotte, purge :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['messageErreur'] = array();

  4. #4
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut
    Ha d'accord.

    Pour répondre à Tesing, je ne demande comment fonctionne une session mais comment faîtes vous pour gérer les messages d'erreur d'une page à l'autre.

    Merci RunCodePhp, tu as parfaitement répondu à ma question.

    Je vais donc utiliser ta technique ;-))

    heu je voulais juste ajouter que s'il y a une autre technique (moins lourde) je suis preneur car je sais que les sessions c'est pas fait pour ça...

  5. #5
    Membre chevronné Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Par défaut
    Autre méthode :
    Tu peux renvoyé en GET un id d'erreur ( ex : page_1.php?err=3 ).
    Ensuite dans ta page_1 tu détectes que le variable $_GET['err'] existe et tu affiches suivant la valeur retournée.
    Exemple bidon :
    page_1.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
     
    $codeErr = array (1 => 'Bad request',2 => 'Forbiden', 3 => 'Not identified', );
     
    if (isset($_GET['err']) && isset($codeErr[$_GET['err']]) ) {
      // Affichage de l'erreur ...
    }
     
    // la suite de la page
    ?>

  6. #6
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut
    Bonsoir francoisIT,

    ta méthode me plaît bien, je pense que je vais plutôt opter pour ta méthode.
    Juste une chose (vous allez dire que j'abuse, je sais ).

    Au fait ma page de départ est la page_1, mais ça peut être une page x ou y et du coup, il faudrait que je garde cette page en mémoire afin de rediriger l'internaute vers la page d'où il vient.. Est-ce que c'est possible ça ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. passer des valeurs d'une page à l'autre
    Par casaoui dans le forum ASP.NET
    Réponses: 8
    Dernier message: 13/06/2007, 17h55
  2. JEditorPane + gestion des frame d'une page HTML
    Par rprom1 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 21/12/2006, 17h08
  3. Gestion des erreurs sur une commande multiple
    Par domiq44 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 05/10/2006, 15h03
  4. [J2EE/JSP] Gestion des erreurs avec une base SQL server 2005
    Par critok dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 30/04/2006, 16h57
  5. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo