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 d'exception : rediriger vers page et interrompre le script


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 68
    Par défaut Gestion d'exception : rediriger vers page et interrompre le script
    J'ai un script PHP qui fait un traitement en plusieurs étapes, chaque étape peut générer des exceptions.
    Quand je récupère une exception, je veux pouvoir rediriger vers une page d'erreur pour afficher un message, et les autres étapes du traitement ne doivent pas se faire (=le script arrête de s'exécuter)

    J'arrive à rediriger vers une page d'erreur qui affiche mon message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<script>window.location="http://mydomain.com/errorPage.php?message=' . $message . '"</script>';
    Mais le script principal continue de s'exécuter.

    J'ai essayé d'ajouter un exit() juste après, mais alors ma page d'erreur ne s'affiche pas

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Pour rediriger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header('Location: mapage.php');
    exit;
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 68
    Par défaut
    Quand je met exit() après le header, la page ne s'affiche pas

  4. #4
    Membre très actif Avatar de demenvil
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Avril 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste développeur
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 195
    Par défaut
    C'est normal car après un exit(); Tu stop complètement toute l’exécution du code php ou autre qui suit.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 68
    Par défaut
    Mais justement je veux arrêter l’exécution de tout le code qui suit, mais je veux qu'il m'affiche ma page d'erreur.
    Le echo ou header() est écrit AVANT le exit() donc je ne comprend pas pourquoi il s'affiche pas.
    Le meme echo ou header() sans le exit() après m'affiche bien la page d'erreur, donc je ne pense pas que le problème vient de cette ligne.

    Je peux faire die($message) pour afficher mon message d'erreur et arrêter le script, mais j'aurai bien voulu pouvoir afficher ma page avec une belle présentation.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Je comprends pas trop...
    Si tu fais une redirection, c'est précisément pour ne pas afficher la page...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 68
    Par défaut
    J'ai un site flash, avec un bouton pour payer.
    Quand je clique sur le bouton, j'ouvre un popup sur la page "achat.php".
    La page achat.php ne contient rien d'affichable, pas de html, pratiquement que des appels à la base de données.
    Le script "achat.php" met en place une transaction en passant par plusieurs étapes : récupérer des infos sur le client, récupérer des infos sur le produit choisi, enregistrer des trucs en base, appeler paypal, etc.

    Imaginons que dès la récupération des infos sur le client j'ai une exception. Alors je veux rediriger vers une page d'erreur appelée "erreur.php" et ne pas exécuter la suite des étapes qui sont dans "achat.php".

    La page erreur.php (qui contient du html et du php) doit s'afficher dans mon popup à la place de achat.php

Discussions similaires

  1. [2.x] Rediriger vers page de login si sessions inexistantes
    Par cid007300 dans le forum Symfony
    Réponses: 1
    Dernier message: 10/01/2014, 18h29
  2. Réponses: 2
    Dernier message: 02/07/2011, 12h34
  3. Réponses: 1
    Dernier message: 03/12/2010, 15h22
  4. gestion des exceptions via <error-page>
    Par mrjeronimo dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 16/08/2010, 13h26
  5. [PHP-JS] Rediriger vers une autre page
    Par Vlacar dans le forum Langage
    Réponses: 13
    Dernier message: 10/04/2006, 13h23

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