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 :

redirection à la suite d'un die ?


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Points : 25
    Points
    25
    Par défaut redirection à la suite d'un die ?
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?php
       include 'connection.php';
     
       $nom=$_REQUEST['NomEmp'];
       if (empty($nom))
       {
    	die("Erreur ! Vous n'avez pas saisit de nouvel employé.");
    	//header("Refresh: 2; url=employe.php");
    	}
     
     
    $sql=mysql_query("INSERT INTO employe (NomEmp) VALUES ('".$_REQUEST['NomEmp']."')");
     
    if ($sql!=false){
    	print("L'employé <".$_REQUEST['NomEmp']."> a bien été enregistré.");	
    	header("Refresh: 2; url=employe.php");}
     
    else {
    	print ("Echec lors de la création du nouvel employé, ce dernier existe déjà !");
    	header("Refresh: 2; url=employe.php");}
     
    	?>
    Le premier header passé en commentaire est ce que j'aurais voulu insérer mais ça ne fonctionne pas vu que j'ai un die juste au dessus. Si je le met avant le die je n'aurais pas accès au message. Donc je suis coincé.
    Merci d'avance pour vos solutions.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
       include 'connection.php';
     
       $nom=$_REQUEST['NomEmp'];
       if (empty($nom))
       {
    	die("Erreur ! Vous n'avez pas saisi de nouvel employé.");
    	header("location: mapage.php");
    	}
     
     
    $sql=mysql_query("INSERT INTO employe (NomEmp) VALUES ('".$_REQUEST['NomEmp']."')");
     
    if ($sql!=false){
    	print("L'employé <".$_REQUEST['NomEmp']."> a bien été enregistré.");	
    	header("Refresh: 2; url=employe.php");}
     
    else {
    	print ("Echec lors de la création du nouvel employé, ce dernier existe déjà !");
    	header("Refresh: 2; url=employe.php");}
     
    	?>

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Merci pour ta réponse frog mais elle ne m'aide en rien puisque tu as laissé le header à la suite du die, il ne s'execute pas. En faite ça m'envoie vers une nouvelle page avec le message "Erreur ! Vous n'avez pas saisi de nouvel employé." mais je ne suis pas redirigé.
    Et que tu remplaces url par location ne change pas le résultat non plus, c'est juste plus "conforme".
    Donc si quelqu'un a une solution je lui en serait très reconnaissant.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    alors ne fais pas de die mais une redirection avec un paramètre et dans le onload de la page tu recupère le paramètre pour afficher le message ...

  5. #5
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 632
    Points : 30 714
    Points
    30 714
    Par défaut
    Salut,

    La fonction die() TUE irrémémdiablement ton script, et il n'y a plus rien à faire pour le réanimer par la suite...

    Il faut donc veiller à ce qu'il ait fait tout ce qu'il avait à faire avant de lancer cette commande fatidique.

    Ainsi, il suffira d'inverser les deux instructions die() et headers pour que tout rentre dans l'ordre, sous la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $nom=$_REQUEST['NomEmp'];
        if (empty($nom))
        {
            header("Refresh: 2; url=employe.php");
            die("Erreur ! Vous n'avez pas saisi de nouvel employé.");
        }
    /*la suite */

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    J'ai remplacé location par url car sinon ça me mettait une erreur. Ne me demandez pas pourquoi, je n'en sais rien. lol
    Maintenant tout fonctionne bien.
    Merci.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/06/2015, 11h52
  2. Redirection à la suite d'un "logoff"
    Par Marc_27 dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 03/05/2013, 16h59
  3. [MySQL] Redirection PHP suite à une saisie d'informations
    Par error404 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/06/2008, 22h24
  4. Redirection header suite à variable session
    Par jive dans le forum Langage
    Réponses: 13
    Dernier message: 05/07/2006, 02h01
  5. [C#] Erreur générée suite à Response.Redirect
    Par djdada dans le forum ASP.NET
    Réponses: 7
    Dernier message: 18/11/2005, 15h21

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