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 :

Validation d'un bulletin inscription [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut Validation d'un bulletin inscription
    Bonjour à tous,

    J'ai actuellement un bulletin d'inscription et lorsque l'on valide cela m'affiche un message sur la page "votre inscription est bien pris en compte" mais il y a toujours les informations rentrées par la personne qui c'est inscrite.
    Je souhaite maintenant changer ça et faire apparaître une nouvelle page php, où il n'y aurais qu'un message du même genre que ci-dessus.


    Bonne journée

  2. #2
    Membre habitué Avatar de Pahcixam
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Points : 191
    Points
    191
    Par défaut
    Bonjour,

    De quelle manière traitez-vous votre formulaire ? Côté serveur (GET / POST) ? En javascript avec une requête AJAX ?

    Si c'est un script PHP, vous pouvez faire une redirection vers une nouvelle page si l'inscription a réussi avec la fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location: inscription_reussi.php');
    Vous pouvez également définir une variable dans votre page qui masquera le formulaire en cas de réussite de l'inscription:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ($inscriptionReussi !== true) {
        //Mettre ici le code du formulaire
    }
    else {
        //Mettre ici le message d'information de réussite
    }
    Bon courage
    Quelques conseils:

    Utilisez <?php plutôt que <?
    Utilisez des ' et la concaténation plutôt que "
    Pensez à revenir à la ligne après chaque ; pour plus de clarté.
    // Commentez votre code un maximum

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut
    Merci pour l'aide, c'est du code php et je le gère en POST.

  4. #4
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Votre site est-il sous un modèle MVC?
    Sinon la solution de Pahcixam peut convenir.
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut Validation d'un bulletin d'inscription
    Non pas de modele MVC, c'est un vieux site......

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut Validation d'un bulletin inscription
    Alors j'ai essayé les deux (header et $inscriptionreussi), aucun ne fonctionne.....enfin j'ai dû me tromper

  7. #7
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Si actuellement, tu affiches un message de confirmation et les valeurs reçues, je pense qu'il suffit de supprimer la partie qui affiche les données reçues pour faire ce que tu demandes...
    Ceci dit, sans la moindre ligne de code et avec des explications quelque peu lapidaires, te répondre efficacement relève de la voyance...
    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

  8. #8
    Membre habitué Avatar de Pahcixam
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Points : 191
    Points
    191
    Par défaut
    Effectivement sans code c'est très dur d'aider. J'ai proposé ces deux solutions comme base car on ne parlait ni d'architecture ni de framework. Bien évidemment il existe des solutions bien plus élégantes et performantes pour la maintenance.

    Si un message s'affiche en cas de réussite alors c'est qu'une partie de l'affichage est déjà soumis à une condition, d'où l'histoire de la variable $inscriptionReussi.

    Il nous faudrait un bout de code où au moins les erreurs retournée si les différents essais n'ont pas fonctionné.
    Quelques conseils:

    Utilisez <?php plutôt que <?
    Utilisez des ' et la concaténation plutôt que "
    Pensez à revenir à la ligne après chaque ; pour plus de clarté.
    // Commentez votre code un maximum

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut
    Oui c'est vrai, voici le code et merci de l'aide.

    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    <!--début du formulaire-->
    <?php
    If (($nom<> "") && ($prenom<>"")  && ($email<>"") && ($civilite<>"")){
    	echo "<font color='#3e9333'>Merci $civilite $prenom $nom, vous recevrez une réponse automatique qui précise que votre inscription a bien été enregistrée.</font> ";
    }
    else{
    	echo "<font face='Arial' color='#FF000'>Veuillez remplir tous les champs. </font> ", $civilite , " " , $prenom, " " , $nom;
    }
    ?>
    <form method="post" action="bulletin.php">
    	<p class="titre"><font face="Arial" size=2>ATTENTION!! Si vous ne recevez pas la réponse automatique à votre inscription.</p>
    	<fieldset id="coordonnees">
    		<p id="civilite"><label for="type1">Civilité : </label><br>
    			<input type="radio" name="civilite" value="Monsieur"
    <?php echo($civilite == "Monsieur" ) ? ' checked="checked"' : null; ?> />M.
    			<input type="radio" name="civilite" value="Madame"
    <?php echo($civilite == "Madame" ) ? ' checked="checked"' : null; ?> />Mme
    <?php	if (($civilite=="") && ($EnvoyerDonnee <> ""))
    	echo "<font color='#FF000'> Champ vide ! </font>";
    ?>
    			<br />
            </p>
    	<p id="situation1"><label for="type1">Situation : </label><br>
    		<input type="radio" name="situation1" value="Elu-e"
    <?php echo($situation1 == "Elu-e" ) ? ' checked="checked"' : null; ?> />Elu-e
    		<input type="radio" name="situation1" value="Salarié-e"
    <?php echo($situation1 == "Salarié-e" ) ? ' checked="checked"' : null; ?> />Salarié-e
    		<input type="radio" name="situation1" value="Demandeur"
    <?php echo($situation1 == "Demandeur" ) ? ' checked="checked"' : null; ?> />Demandeur d'Emploi
    		<input type="radio" name="situation1" value="Etudiant-e"
    <?php echo($situation1 == "Etudiant-e" ) ? ' checked="checked"' : null; ?> />Etudiant-e
    		<input type="radio" name="situation1" value="Stagiaire FP"
    <?php echo($situation1 == "Stagiaire FP" ) ? ' checked="checked"' : null; ?> />Stagiaire
    		<input type="radio" name="situation1" value="Autres"
    <?php echo($situation1 == "Autres" ) ? ' checked="checked"' : null; ?> />Autres
    <?php	if (($situation1=="") && ($EnvoyerDonnee <> ""))
    	echo "<font color='#FF000'> Champ vide ! </font>";
    ?>
    		<br />
            </p>
    	<label for="type2">Nom : </label>
    		<input id="type2" type="text" placeholder="En majuscule" name="nom" size="30" style="color:grey;" value="<? echo $_POST['nom'];?>" />
    <?php	if (($nom=="") && ($EnvoyerDonnee <> ""))
    	echo "<font color='#FF000'> Champ vide ! </font>";
    ?>
    		<br />
    <?php
    $date_inscription = date("Y-m-d");
    ?>
    		<p id="buttons">
    			<input type="submit" name="EnvoyerDonnee" value="Envoyer" />
    			<input type="reset" value="Recommencer" />
    		</p></font>
    		<p><font face="Arial" size="1" >Conformément à l’article 27 de la loi "Informatique et Libertés" du 6 janvier 1978, les champs d’information que vous remplissez sont nécessaires à l’enregistrement et au traitement de votre demande. Nous ne les transmettrons pas à des tiers. Par ailleurs, vous disposez d’un droit d’accès, de modification, de rectification et de suppression des données qui vous concernent.</font></p>
    		</ul>
    	</fieldset>
    </form>
    </p>
    </div>
    <?php
     
    $msg_erreur = "Les champs suivants doivent être remplis :<br/><br/>";
    $msg_ok = "Votre demande a bien été prise en compte.";
    $message = $msg_erreur;
     
     
    define('MAIL_DESTINATAIRE',''); // remplacer par votre email
    define('MAIL_SUJET','Bulletin ');
     
    // vérification des champs du formulaire
    if (empty($_POST['civilite']))
    $message .= "Votre civilité<br/>";
    if (empty($_POST['dispositif']))
    $message .= "Dispositif<br/>";
    if (empty($_POST['comments']))
    $message .= "Votre message<br/>";
     
     
    if (empty($_POST['recevoir']))
    $message .= "Recevoir les actualités<br/>";
     
    // si un champ est vide, on affiche le message d'erreur et on stoppe le script
    if (strlen($message) > strlen($msg_erreur)){
        $message;die();
    }
     
    // sinon c'est ok => on continue
    foreach($_POST as $index => $valeur) {
      $index = stripslashes(trim($valeur));
    }
     
     
    //Préparation de l'entête du mail:
    $mail_entete  = "MIME-Version: 1.0\r\n";
    $mail_entete .= "From: {$_POST['nom']} {$_POST['prenom']} "."<{$_POST['email']}>\r\n";
    $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
    $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
    $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
    $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
     
    // préparation du corps du mail
     
    $mail_corps .= "Message de : $civilite $nom $prenom\n";
    $mail_corps .= "Situation : $situation1\n";
    $mail_corps .= "Dispositif : $dispositif\n";
     
    // envoi du mail
    if (mail(MAIL_DESTINATAIRE,MAIL_SUJET.$comments,$mail_corps,$mail_entete)){
      //Le mail est bien expédié
       $msg_ok;
    }
    else{
      //Le mail n'a pas été expédié
       "Une erreur est survenue lors de l'envoi du formulaire par email";
    }
    ?>
    <?php
    // Envoi du mail client
    //-----------------------
     
    //Préparation de l'entête du mail:
    $mail_entete  = "MIME-Version: 1.0\r\n";
    $mail_entete .= "From:\r\n";
    $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
    $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
    $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
    $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
     
    // préparation du corps du mail
     
    $texte  ="\r\n";
    $texte .="Bonjour ". $civilite." ".$nom. " ".$prenom. " \r\n";
    $texte .="\r\n";
    $texte .="Nous avons bien enregistré votre demande d'inscription ".$comments. " .\r\n";
    $texte .="ATTENTION votre participation à la formation sera officialisée par une confirmation.\r\n";
    $texte .=".\r\n";
    $texte .="\r\n";
    $texte .="vous remercie pour votre confiance et votre visite sur notre site.\r\n";
    $texte .="A très bientôt.\r\n";
    $texte .="\r\n";
    $texte .="Vous pouvez nous contacter directement :\r\n";
    $texte .="\r\n";
    $texte .="Sinon par mail, cliquez ici \r\n";
     
     
    $mail_ok = mail("$email","Demande d'inscription",$texte,$mail_entete);
     
    if ($ok_mail) {
     "mail parti";
    } else {
     "mail,  pas parti";
    }
     
    if ($mail_ok) {
     "mail client parti";
    } else {
     "mail client  pas parti";
    }
     
    // introduire dans la base de données
     
    if (isset($_POST['nom']){
        echo $_POST['date_inscription'];
    	$sql = 'INSERT INTO mem VALUES("", "'.mysql_escape_string($_POST['nom']).'" )';
    				mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
    	exit();
    }
    else{
    	echo "Erreur";
     
    }
    exit();
     
    ?>

  10. #10
    Membre habitué Avatar de Pahcixam
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Points : 191
    Points
    191
    Par défaut
    Bonjour.

    Plusieurs choses:
    - Votre code comportait quelques erreurs de syntaxe qui devaient entrainer des Parse Error
    - Il est fortement déconseillé d'accéder directement aux variables $_POST. Il vaut mieux passer par une fonction comme filter_input http://php.net/manual/fr/function.filter-input.php
    - Les die() en plein milieux du script me paraissent un peux brutaux. Pourquoi ne pas gérer les exceptions plus finement en l'indiquant à l'utilisateur ?
    - Vous envoyez le mail avant de faire l'inscription en base de données. Donc si celle-ci échoue, l'utilisateur aura quand même le mail !
    - Pour la mise en forme, il vaut mieux passer par une feuille de style CSS plutôt que de tout coder en dur.
    - Il doit manquer une partie du script car les variables $nom et $prenom ne sont définies nul part.
    - L'indentation est un peu chaotique et certaines balises ne sont jamais ouvertes ou fermée.

    Pour répondre à votre question initial, il faudrait entourer l'affichage du formulaire par une condition comme vous l'avez fait pour les phrases d'alertes comme montré ci-après. Néanmoins, il faudrait revoir le processus de validation pour être sûr que tous les champs sont remplis correctement, que l'inscription en base de données s'est bien passée, que l'utilisateur n'existe pas déjà, avant d'envoyer un mail.

    Votre code indenté et corrigé des fautes de syntaxe:

    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    <!--début du formulaire-->
    <?php
     
    If (($nom <> "") && ($prenom <> "") && ($email <> "") && ($civilite <> "")) {
        echo "<font color='#3e9333'>Merci $civilite $prenom $nom, vous recevrez une réponse automatique qui précise que votre inscription a bien été enregistrée.</font> ";
    } else {
        echo "<font face='Arial' color='#FF000'>Veuillez remplir tous les champs. </font> ", $civilite, " ", $prenom, " ", $nom;
    }
     
    ?>
     
    <?php //ajouter le début de la condition ici ?>
    <form method="post" action="bulletin.php">
     
        <p class="titre">
            <font face="Arial" size=2>ATTENTION!! Si vous ne recevez pas la réponse automatique à votre inscription.</font>
        </p>
     
        <fieldset id="coordonnees">
     
            <p id="civilite">
                <label for="type1">Civilité : </label><br>
                <input type="radio" name="civilite" value="Monsieur" <?php echo($civilite == "Monsieur" ) ? ' checked="checked"' : null; ?> />M.
                <input type="radio" name="civilite" value="Madame" <?php echo($civilite == "Madame" ) ? ' checked="checked"' : null; ?> />Mme
     
                <?php if (($civilite == "") && ($EnvoyerDonnee <> "")) { echo "<font color='#FF000'> Champ vide ! </font>"; } ?> <br />
            </p>
     
            <p id="situation1">
                <label for="type1">Situation : </label><br>
                <input type="radio" name="situation1" value="Elu-e" <?php echo($situation1 == "Elu-e" ) ? ' checked="checked"' : null; ?> />Elu-e
                <input type="radio" name="situation1" value="Salarié-e" <?php echo($situation1 == "Salarié-e" ) ? ' checked="checked"' : null; ?> />Salarié-e
                <input type="radio" name="situation1" value="Demandeur" <?php echo($situation1 == "Demandeur" ) ? ' checked="checked"' : null; ?> />Demandeur d'Emploi
                <input type="radio" name="situation1" value="Etudiant-e" <?php echo($situation1 == "Etudiant-e" ) ? ' checked="checked"' : null; ?> />Etudiant-e
                <input type="radio" name="situation1" value="Stagiaire FP" <?php echo($situation1 == "Stagiaire FP" ) ? ' checked="checked"' : null; ?> />Stagiaire
                <input type="radio" name="situation1" value="Autres" <?php echo($situation1 == "Autres" ) ? ' checked="checked"' : null; ?> />Autres
     
                <?php if (($situation1 == "") && ($EnvoyerDonnee <> "")) { echo "<font color='#FF000'> Champ vide ! </font>"; } ?><br />
            </p>
     
            <label for="type2">Nom : </label>
            <input id="type2" type="text" placeholder="En majuscule" name="nom" size="30" style="color:grey;" value="<? echo $_POST['nom']; ?>" />
     
            <?php if (($nom == "") && ($EnvoyerDonnee <> "")) { echo "<font color='#FF000'> Champ vide ! </font>"; } ?><br />
     
            <?php $date_inscription = date("Y-m-d"); ?>
     
            <p id="buttons">
                <input type="submit" name="EnvoyerDonnee" value="Envoyer" />
                <input type="reset" value="Recommencer" />
            </p>    
     
            <p>
                <font face="Arial" size="1" >Conformément à l’article 27 de la loi "Informatique et Libertés" du 6 janvier 1978, les champs d’information que vous remplissez sont nécessaires à l’enregistrement et au traitement de votre demande. Nous ne les transmettrons pas à des tiers. Par ailleurs, vous disposez d’un droit d’accès, de modification, de rectification et de suppression des données qui vous concernent.</font>
            </p>
     
            </ul>
        </fieldset>
    </form>
     
    <?php //fin de la condition d'affichage du formulaire ?>
     
    <?php
    $msg_erreur = "Les champs suivants doivent être remplis :<br/><br/>";
    $msg_ok = "Votre demande a bien été prise en compte.";
    $message = $msg_erreur;
     
     
    define('MAIL_DESTINATAIRE', ''); // remplacer par votre email
    define('MAIL_SUJET', 'Bulletin ');
     
    // vérification des champs du formulaire
    if (empty($_POST['civilite'])) { $message .= "Votre civilité<br/>"; }
    if (empty($_POST['dispositif'])) { $message .= "Dispositif<br/>"; }
    if (empty($_POST['comments'])) { $message .= "Votre message<br/>"; }
    if (empty($_POST['recevoir'])) { $message .= "Recevoir les actualités<br/>"; }
     
    // si un champ est vide, on affiche le message d'erreur et on stoppe le script
    if (strlen($message) > strlen($msg_erreur)) {
        $message;
        die();
    }
     
    // sinon c'est ok => on continue
    foreach ($_POST as $index => $valeur) {
        $index = stripslashes(trim($valeur));
    }
     
    //Préparation de l'entête du mail:
    $mail_entete = "MIME-Version: 1.0\r\n";
    $mail_entete .= "From: {$_POST['nom']} {$_POST['prenom']} " . "<{$_POST['email']}>\r\n";
    $mail_entete .= 'Reply-To: ' . $_POST['email'] . "\r\n";
    $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
    $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
    $mail_entete .= 'X-Mailer:PHP/' . phpversion() . "\r\n";
     
    // préparation du corps du mail
    $mail_corps .= "Message de : $civilite $nom $prenom\n";
    $mail_corps .= "Situation : $situation1\n";
    $mail_corps .= "Dispositif : $dispositif\n";
     
    // envoi du mail
    if (mail(MAIL_DESTINATAIRE, MAIL_SUJET . $comments, $mail_corps, $mail_entete)) {
        //Le mail est bien expédié
        $msg_ok;
    } else {
        //Le mail n'a pas été expédié
        "Une erreur est survenue lors de l'envoi du formulaire par email";
    }
    ?>
     
    <?php
    // Envoi du mail client
    //-----------------------
    //Préparation de l'entête du mail:
    $mail_entete = "MIME-Version: 1.0\r\n";
    $mail_entete .= "From:\r\n";
    $mail_entete .= 'Reply-To: ' . $_POST['email'] . "\r\n";
    $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
    $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
    $mail_entete .= 'X-Mailer:PHP/' . phpversion() . "\r\n";
     
    // préparation du corps du mail
    $texte = "\r\n";
    $texte .="Bonjour " . $civilite . " " . $nom . " " . $prenom . " \r\n";
    $texte .="\r\n";
    $texte .="Nous avons bien enregistré votre demande d'inscription " . $comments . " .\r\n";
    $texte .="ATTENTION votre participation à la formation sera officialisée par une confirmation.\r\n";
    $texte .=".\r\n";
    $texte .="\r\n";
    $texte .="vous remercie pour votre confiance et votre visite sur notre site.\r\n";
    $texte .="A très bientôt.\r\n";
    $texte .="\r\n";
    $texte .="Vous pouvez nous contacter directement :\r\n";
    $texte .="\r\n";
    $texte .="Sinon par mail, cliquez ici \r\n";
     
    $mail_ok = mail("$email", "Demande d'inscription", $texte, $mail_entete);
     
    if ($ok_mail) {
        "mail parti";
    } else {
        "mail,  pas parti";
    }
     
    if ($mail_ok) {
        "mail client parti";
    } else {
        "mail client  pas parti";
    }
     
    // introduire dans la base de données
    if (isset($_POST['nom'])) {
     
        echo $_POST['date_inscription'];
     
        $sql = 'INSERT INTO mem VALUES("", "'.mysql_escape_string($_POST['nom']).'" )';
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
     
        exit();
     
    } else {
        echo "Erreur";
    }
     
    exit();
     
    ?>
    Quelques conseils:

    Utilisez <?php plutôt que <?
    Utilisez des ' et la concaténation plutôt que "
    Pensez à revenir à la ligne après chaque ; pour plus de clarté.
    // Commentez votre code un maximum

  11. #11
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut Validation d'un bulletin inscription
    Encore merci pour la correction et je vois pas comment utiliser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ($inscriptionReussi !== true) {
        //Mettre ici le code du formulaire
    }
    else {
        //Mettre ici le message d'information de réussite
    }

  12. #12
    Membre habitué Avatar de Pahcixam
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Points : 191
    Points
    191
    Par défaut
    Je ne peux pas vous proposer de solution clé en main car je n'ai pas tout le script et en plus je trouve que c'est en essayant que l'on apprend le mieux. Je vous propose donc une architecture minimaliste pour gérer votre formulaire. Il vous suffira d'adapter votre code selon ce modèle:

    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
    <?php
     
    //Définition des variables
    $formulaireSoumis = filter_input(INPUT_POST, 'nom') === null ? false : true; //Si la variable nom est définie dans le POST c'est que le formulaire a été soumis
    $erreurValidation = false; //Par défaut on fixe la validation du formulaire sur false
     
    //Traitement du formulaire
    if ($formulaireSoumis === true) {
        //BLOC DE TRAITEMENT DU FORMULAIRE
     
        //Si des erreurs sont trouvées:
        $erreurValidation = true;
    }
     
    //Gestion des différents cas de figure
    if (($formulaireSoumis !== true) || ($formulaireSoumis === true && $erreurValidation === true)) {
        //Le formulaire n'a pas été soumis où il contient des erreurs, il faut donc l'afficher
     
        if ($erreurValidation === true) {
            //BLOC D'AFFICHAGE DES MESSAGES D'ERREUR
        }
     
        //BLOC D'AFFICHAGE DU FORMULAIRE
    }
    else {
        //Le formulaire a été saisie et aucune erreur n'est intervenue
     
        //BLOC D'AFFICHAGE DES MESSAGES DE REUSSITE
    }
    ?>
    Je vous conseille de prendre en compte mes différentes remarques sur la validation de votre formulaire pour plus de sécurité et de cohérence de votre code. Je vous ai mis un exemple d'utilisation de la fonction filter_input.
    Quelques conseils:

    Utilisez <?php plutôt que <?
    Utilisez des ' et la concaténation plutôt que "
    Pensez à revenir à la ligne après chaque ; pour plus de clarté.
    // Commentez votre code un maximum

  13. #13
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut Validation d'un bulletin inscription
    Oui j'ai pris en compte vos conseils, j'ai refaits toute l'indentation et je continue les corrections...

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

Discussions similaires

  1. [MySQL] Valider ou refuser une inscription d'un formulaire
    Par OG__fenomeno dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/06/2013, 16h55
  2. [PHP 4] Envoyer un email sur un bulletin inscription
    Par Marc31 dans le forum Langage
    Réponses: 4
    Dernier message: 16/11/2011, 16h19
  3. [PHP 4] Bulletin inscription piraté
    Par Marc31 dans le forum Langage
    Réponses: 11
    Dernier message: 02/11/2011, 11h44
  4. script js de validation de formulaire d'inscription
    Par Chakalaka dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/12/2009, 04h48
  5. [MySQL] inscription avec validation
    Par ssony dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 04/04/2007, 09h40

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