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 :

arrêt du code php si erreur = vrai...


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 933
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 933
    Par défaut arrêt du code php si erreur = vrai...
    bonjour,

    lors du test de mon formulaire j'aiemrais que mon code php s'arrête
    si la variable erreur est égale à true, mais ça ne marche pas, voici la partie de mon code php :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
     
    <?php 
     
    $erreur = false;
     
    $civilite = $_POST['civilite'];
    $mail = $_POST['mail']; 
    $point = strpos($mail,"."); 
    $aroba = strpos($mail,"@"); 
    $nom = $_POST['nom']; 
    $prenom = $_POST['prenom'];
    $telephone = $_POST['telephone'];
    $mdp = $_POST['mdp'];
    $mdp=md5($mdp);
    $mdpc = $_POST['mdpc'];
    $mdpc=md5($mdpc);
    $ad_ligne1 = $_POST['ad_ligne1'];
    $ad_ligne2 = $_POST['ad_ligne2'];
    $ad_cp = $_POST['ad_cp'];
    $ad_ville = $_POST['ad_ville'];
    if(empty($mail)) 
    { 
    echo ' <center>Le <b>Mail</b> est vide !</center> '; 
    }elseif($point=='') 
    { echo 'Votre email doit comporter un <b>point</b>';} 
    elseif($aroba=='') 
    { $erreur = true;
      echo "Votre email doit comporter un <b>'@'</b>";
    } 
    else{}
    if(empty($nom)) 
    { 
    $erreur = true;
    echo ' <center>Le <b>nom</b> est vide </center> '; 
    }else{}
    if(empty($prenom)) 
    { 
    echo ' <center>Le <b>prénom</b> est vide </center> '; 
    }else{}
    if(empty($telephone)) 
    { 
    echo ' <center>Le <b>Telephone</b> est vide </center> '; 
    }else{} 
    if(empty($mdp)) 
    { 
    echo ' <center>Le <b>Mot de passe</b> est vide </center> '; 
    }else{} 
    if(empty($mdpc)) 
    { 
    echo ' <center>Le <b>Mot de passe à confirmer</b> est vide </center> '; 
    }else{} 
    if(empty($ad_ligne1)) 
    { 
    echo " <center>Merci de renseigner le première ligne de l'adresse</center> "; 
    }else{} 
    if(empty($ad_cp)) 
    { 
    echo ' <center>Le <b>Code postal</b> est vide </center> '; 
    }else{} 
    if(empty($ad_ville)) 
    { 
    echo ' <center>La <b>Ville</b> est vide </center> '; 
    }else{} 
     
    // si le formulaire n'est pas bien rempli , revoie des message d'erreur sur le formulaire initiale
     
    if ($erreur) { 
    header("Location: crecli.htm");
    }else{}
    merci d'avance de votre aide.

  2. #2
    Expert confirmé
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Par défaut
    salut,
    j'ai pas vu un seul endroit où tu mets $erreur à true ou je suis mal reveillé.

    supposons qu'une de tes variables soit vide : ça met $erreur à true ? si oui, ça affichera du texte donc ça enverra un header pour dire que du code hml arrive.
    or si $erreur est à true, tu veux rediriger avec un header : tu auras alors une erreur de php "headers already sent".

    soit tu n'affiches rien et tu peux mettre ton header à la fin, soit tu passes par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($erreur) {
    //header("Location: crecli.htm");
    echo "<meta http-equiv='refresh' content='0;url=crecli.htm'>";
    }else{}

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Par défaut
    Salut!
    On préfère quand même ne rient envoyer et rester sur des redirections serveurs que passer par les redirections metas...

    @++

    R@f

  4. #4
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Plutôt que de faire des echo de ton message d'erreur, tu devrais concaténer dans une variable tous les messages d'erreurs à la suite et l'afficher $erreur = true.

    Les else{} ne te serviront à rien car dans ta logique l'utilisateur va se prendre un message d'erreur pour chaque champs non renseignés au lieu de s'en prendre un seul qui récapitule le problème.

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    As-tu essayé d'arrêter l'exécution du script avec exit; ou bien die('...'); ou encore return(...); ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Par défaut
    Petite remarque au passage, après une recherche avec strpos ou fonction dans le genre, on teste pas avec:
    if( $arobas == '' )

    mais
    if( $arobas === false )

    @++

    R@f

Discussions similaires

  1. [MySQL] Code PHP et erreur serveur Free : "Parse error: syntax error, unexpected '{' "
    Par mauriiice dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 31/05/2009, 20h47
  2. Erreur dans mon code php que j'arrive à voir
    Par babouba dans le forum Langage
    Réponses: 2
    Dernier message: 19/03/2007, 16h48
  3. [SQL] erreur dans la requette SQL ou dans le code PHP
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 11/07/2006, 21h21
  4. Erreur dans mon code PHP
    Par jack_1981 dans le forum Langage
    Réponses: 6
    Dernier message: 12/05/2006, 10h01
  5. [MySQL] Erreur dans code php
    Par Badr3am dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 31/01/2006, 22h16

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