Espace membre rajout texte

Résolu
Bonjour,
je viens de creer une page d inscription a mon espace membre

tous fonctionne, mais j aimerais rajouter avant l affichage de la page index un message comme quoi un mail de confirmation est envoier comment faire?

comment trouver vous mon code?

voici mon code

<?php
// Couleur du texte des champs si erreur saisie utilisateur
$color_font_warn="#FF0000";
// Couleur de fond des champs si erreur saisie utilisateur
$color_form_warn="#FFCC66";

if(isset($_POST['inscription'])){
$erreur="";
// Nettoyage des entrées
while(list($var,$val)=each($_POST)){
if(!is_array($val)){
$$var=strip_tags($val);
}else{
while(list($arvar,$arval)=each($val)){
$$var[$arvar]=strip_tags($arval);
}
}
}
// Formatage des entrées
$nom=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $nom)));
$prenom=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $prenom)));
$pass=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $pass)));
$pass_confirmm=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $pass_confirm)));
$adresse=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $adresse)));
$ville=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $ville)));
$postal=trim(eregi_replace("[^0-9\ +]", "", $postal));
$email=strip_tags(trim($email));

// Verification des champs
if(strlen($nom)<2){
$erreur.="<li><span class='txterror'>Le champ « Nom » est vide ou incomplet.</span>";
$errf_nom=1;
}
if(strlen($prenom)<2){
$erreur.="<li><span class='txterror'>Le champ « Prénom » est vide ou incomplet.</span>";
$errf_prenom=1;
}
if(strlen($pass)<2){
$erreur.="<li><span class='txterror'>Le champ « Mot de Passe » est vide ou incomplet.</span>";
$errf_pass=1;
}
if(strlen($pass_confirm)<2){
$erreur.="<li><span class='txterror'>Le champ « Mot de Passe confirmation » est vide ou incomplet.</span>";
$errf_pass_confirm=1;
}
if(strlen($email)<2){
$erreur.="<li><span class='txterror'>Le champ « Adresse mail » est vide ou incomplet.</span>";
$errf_email=1;
}else{
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
$email)){
$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
$errf_email=1;
}
}
if(strlen($adresse)<2){
$erreur.="<li><span class='txterror'>Le champ « Adresse » est vide ou incomplet.</span>";
$errf_adresse=1;
}
if(strlen($ville)<2){
$erreur.="<li><span class='txterror'>Le champ « ville » est vide ou incomplet.</span>";
$errf_ville=1;
}
if(strlen($postal)<2){
$erreur.="<li><span class='txterror'>Le champ « Postal » est vide ou incomplet.</span>";
$errf_postal=1;
}
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
if($erreur==""){

$destinataire = ''.$email.'';
// Pour les champs $expediteur / $copie / $destinataire, séparer par une virgule s'il y a plusieurs adresses
$expediteur = 'picllo@free.fr';
$copie_cachee = 'st@free.fr';
$objet = 'Inscritpion à l\.'; // Objet du message
$headers = 'MIME-Version: 1.0' . "\n"; // Version MIME
$headers .= 'Content-type: text/html; charset=ISO-8859-1'."\n"; // l'en-tete Content-type pour le format HTML
$headers .= 'Reply-To: '.$expediteur."\n"; // Mail de reponse
$headers .= 'From: "Pizzeria Pico-Bello"<'.$expediteur.'>'."\n"; // Expediteur
$headers .= 'Delivered-to: '.$destinataire."\n"; // Destinataire
$headers .= 'Bcc: '.$copie_cachee."\n\n"; // Copie cachée Bcc
$message = '<div style="width: 100%; text-align: center; font-weight: bold">Un Bonjour de Developpez.ddddcom '.$nom.' !</div>';
if (mail($destinataire, $objet, $message, $headers)) // Envoi du message
{

$base = mysql_connect ('localhost', 'ut', 'mdp');
mysql_select_db ('nom_base', $base);

// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE email="'.mysql_escape_string($_POST['email']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['nom']).'", "'.mysql_escape_string($_POST['prenom']).'", "'.md5(mysql_escape_string($_POST['pass'])).'", "'.mysql_escape_string($_POST['email']).'", "'.mysql_escape_string($_POST['adresse']).'", "'.mysql_escape_string($_POST['postal']).'", "'.mysql_escape_string($_POST['ville']).'", "'.mysql_escape_string($_POST['date']).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

session_start();
$_SESSION['email'] = $_POST['email'];
header('Location: membre.php');
exit();
}
else {
$erreur = 'Cette adresse mail est déja enregistrer.';
}
}
}

}

?>
Configuration: Windows Vista
Internet Explorer 7.0

25 réponses

Résumé de la discussion

Plusieurs contributeurs cherchent à afficher un message clair indiquant qu'un mail de confirmation a été envoyé avant d'afficher la page index après l'inscription, afin d'informer l'utilisateur sans attendre la fin du traitement. Parmi les solutions proposées, l'option la plus fréquente consiste à stocker l'information via une session et à rediriger ensuite vers index.php pour afficher le message. D'autres conseils suggèrent de déclencher une alerte JavaScript ou d'écrire le message directement après l'insertion dans la base, mais l'option recommandée reste la redirection avec un affichage côté index. Concrètement, on peut utiliser session_start() puis stocker l'email dans $_SESSION, effectuer la redirection vers index.php et afficher le message de confirmation lorsque la page index est chargée, si la session est présente.

Bobot (l’IA à votre service)
  1. C'est a dire, qu'en haut du formulaire tu aimerais rajouter une frase disant qu'un mailol de confirmation sera envoyer, et tu c pa ou l'écrire c ca ????

    1. non apres avoir fait tous les verif j en vois un mail puis s ouvre la page index.php

      mais avant cela j aimerais une phrase un mail de configuration viens de vous etre envoyerr et apres 5 seconde la page index s ouvre par exmeple

      tu comprend mieu lol

      c es pas facile a expliquer lol
      1. Ok , ben tu peux mettre ca :

        echo "<script>alert('un mail de configuration viens de vous etre envoyé');</script>";

        ^^
        1. merci de ta reponse je viens d essaier

          mais ca ne marche pas

          il y a cette erruer

          Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/164/sda/2/0/picobello/membrephp4/inscription.php:105) in /mnt/164/sda/2/0/picobello/membrephp4/inscription.php on line 111

          Warning: Cannot modify header information - headers already sent by (output started at /mnt/164/sda/2/0/picobello/membrephp4/inscription.php:105) in /mnt/164/sda/2/0/picobello/membrephp4/inscription.php on line 113

          si je met pas ton code je ne l es pas bizare?
          1. l erreur 111 c est :
            session_start();
            et 113 c est ca
            header('Location: membre.php');

            Merci de votre aide
            1. Ben c vraiment bizare, que mon ptit bou d'code fait bugué tout ca ..

              Redone moi le code je vérifie un truc stp !!

              1. Meric de tono aide

                voici le code

                <?php
                // Couleur du texte des champs si erreur saisie utilisateur
                $color_font_warn="#FF0000";
                // Couleur de fond des champs si erreur saisie utilisateur
                $color_form_warn="#FFCC66";

                if(isset($_POST['inscription'])){
                $erreur="";
                // Nettoyage des entrées
                while(list($var,$val)=each($_POST)){
                if(!is_array($val)){
                $$var=strip_tags($val);
                }else{
                while(list($arvar,$arval)=each($val)){
                $$var[$arvar]=strip_tags($arval);
                }
                }
                }
                // Formatage des entrées
                $nom=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $nom)));
                $prenom=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $prenom)));
                $pass=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $pass)));
                $pass_confirmm=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $pass_confirm)));
                $adresse=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $adresse)));
                $ville=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $ville)));
                $postal=trim(eregi_replace("[^0-9\ +]", "", $postal));
                $email=strip_tags(trim($email));

                // Verification des champs
                if(strlen($nom)<2){
                $erreur.="<li><span class='txterror'>Le champ « Nom » est vide ou incomplet.</span>";
                $errf_nom=1;
                }
                if(strlen($prenom)<2){
                $erreur.="<li><span class='txterror'>Le champ « Prénom » est vide ou incomplet.</span>";
                $errf_prenom=1;
                }
                if(strlen($pass)<2){
                $erreur.="<li><span class='txterror'>Le champ « Mot de Passe » est vide ou incomplet.</span>";
                $errf_pass=1;
                }
                if(strlen($pass_confirm)<2){
                $erreur.="<li><span class='txterror'>Le champ « Mot de Passe confirmation » est vide ou incomplet.</span>";
                $errf_pass_confirm=1;
                }
                if(strlen($email)<2){
                $erreur.="<li><span class='txterror'>Le champ « Adresse mail » est vide ou incomplet.</span>";
                $errf_email=1;
                }else{
                if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
                '@'.
                '[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
                '[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
                $email)){
                $erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
                $errf_email=1;
                }
                }
                if(strlen($adresse)<2){
                $erreur.="<li><span class='txterror'>Le champ « Adresse » est vide ou incomplet.</span>";
                $errf_adresse=1;
                }
                if(strlen($ville)<2){
                $erreur.="<li><span class='txterror'>Le champ « ville » est vide ou incomplet.</span>";
                $errf_ville=1;
                }
                if(strlen($postal)<2){
                $erreur.="<li><span class='txterror'>Le champ « Postal » est vide ou incomplet.</span>";
                $errf_postal=1;
                }
                if ($_POST['pass'] != $_POST['pass_confirm']) {
                $erreur = 'Les 2 mots de passe sont différents.';
                }
                if($erreur==""){

                $destinataire = ''.$email.'';
                // Pour les champs $expediteur / $copie / $destinataire, séparer par une virgule s'il y a plusieurs adresses
                $expediteur = gfg.fr';
                $copie_cachee = 'stee.fr';
                $objet = 'Inscritpion à l\'espace membre j.'; // Objet du message
                $headers = 'MIME-Version: 1.0' . "\n"; // Version MIME
                $headers .= 'Content-type: text/html; charset=ISO-8859-1'."\n"; // l'en-tete Content-type pour le format HTML
                $headers .= 'Reply-To: '.$expediteur."\n"; // Mail de reponse
                $headers .= 'From: "ggggello"<'.$expediteur.'>'."\n"; // Expediteur
                $headers .= 'Delivered-to: '.$destinataire."\n"; // Destinataire
                $headers .= 'Bcc: '.$copie_cachee."\n\n"; // Copie cachée Bcc
                $message = '<div style="width: 100%; text-align: center; font-weight: bold">Un Bonjour de Developpez.ddddcom '.$nom.' !</div>';
                if (mail($destinataire, $objet, $message, $headers)) // Envoi du message
                {

                $base = mysql_connect ('localhost', 'prrro', 'ZrrrrrrrjQ');
                mysql_select_db ('pirrrrrrrrrrrrro', $base);

                // on recherche si ce login est déjà utilisé par un autre membre
                $sql = 'SELECT count(*) FROM membre WHERE email="'.mysql_escape_string($_POST['email']).'"';
                $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
                $data = mysql_fetch_array($req);

                if ($data[0] == 0) {
                $sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['nom']).'", "'.mysql_escape_string($_POST['prenom']).'", "'.md5(mysql_escape_string($_POST['pass'])).'", "'.mysql_escape_string($_POST['email']).'", "'.mysql_escape_string($_POST['adresse']).'", "'.mysql_escape_string($_POST['postal']).'", "'.mysql_escape_string($_POST['ville']).'", "'.mysql_escape_string($_POST['date']).'")';
                mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
                echo "<script>alert('un mail de configuration viens de vous etre envoyé');</script>";

                session_start();
                $_SESSION['email'] = $_POST['email'];
                header('Location: index.php');
                exit();
                }
                else {
                $erreur = 'Cette adresse mail est déja enregistrer.';
                }
                }
                }

                }

                ?>

                <html>
                <head>
                <title>Inscription</title>
                <style type="text/css">
                <!--
                .Style2 {color: #000000}
                -->
                </style>
                </head>

                <body>
                <p align="center"><span class="txterror">Inscription à l'espace membre :</span></p>
                <p align="center"><span class="txterror">Les champs marqué d'un * sont obligatoires</span><br />
                <? if($ok_mail=="true"){ ?>
                </p>
                <table width='100%' border='0' cellspacing='1' cellpadding='1'>
                <tr><td><span class='txtform'>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.</span></td></tr>
                <tr><td> </td></tr>
                <tr><td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr>
                <tr><td> </td></tr>
                <tr><td><span class='txtform'>Nous allons y donner suite dans les meilleurs délais.<br>A bientôt.</span></td></tr>
                </table>
                <? }else{ ?>
                <form action="inscription.php" method="post">
                <div align="center">

                <table width="500" border="0">
                <tr>
                <td><? if($erreur){ ?><tr><td colspan='2' bgcolor='red'><div align="center"><span class='txterror'><font color='white'><b> ERREUR, votre message n'a pas été transmis</b></font></span></div></td></tr><tr><td colspan='2'><div align="center">
                <ul>
                <?echo$erreur?>
                </ul>
                </div></td></tr><?}?></td>
                </tr>
                </table>

                </div>

                <div align="center">Nom :<br>
                <input type="text" style='width:200 <? if($errf_nom==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name="nom" value="<?php if (isset($_POST['nom'])) echo htmlentities(trim($_POST['nom'])); ?>">
                <br>
                Prénom :<br>
                <input type="text" style='width:200 <? if($errf_prenom==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name="prenom" value="<?php if (isset($_POST['prenom'])) echo htmlentities(trim($_POST['prenom'])); ?>">
                <br />
                Mot de passe :<br>
                <input type="password" style='width:200 <?if($errf_pass==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>">
                <br />
                Confirmation du mot de passe :<br>
                <input type="password" style='width:200 <?if($errf_pass_confirm==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>">
                <br>
                Adresse Mail :<br>
                <input type="text" style='width:200 <?if($errf_email==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name="email" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>">
                <br>
                Adresse Postal :<br>
                <input type="text" style='width:200 <?if($errf_adresse==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name="adresse" value="<?php if (isset($_POST['adresse'])) echo htmlentities(trim($_POST['adresse'])); ?>">
                <br>
                Code postal :<br>
                <input type="text" style='width:200 <?if($errf_postal==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name="postal" value="<?php if (isset($_POST['postal'])) echo htmlentities(trim($_POST['postal'])); ?>">
                <br>
                Ville :<br>
                <input type="text" style='width:200 <?if($errf_ville==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name="ville" value="<?php if (isset($_POST['ville'])) echo htmlentities(trim($_POST['ville'])); ?>">
                <br>

                <input type="submit" name="inscription" value="Inscription">
                </p>
                </div>
                </form>

                <? } ?>

                </body>
                </html>

                oui c est bizare que ca fasse beuger
                1. kes ca fé là ca ???

                  session_start();
                  $_SESSION['email'] = $_POST['email'];
                  header('Location: index.php');
                  exit();
                  1. Ben coupe ca, et mets le tout en haut de ta page entre des balise <?php bien sur !!! ?>

                    1. ca ne vas pas si je le met tous en haut la page inscription ne souvre pas redirection immedaite vers index
                      1. Ah ok, en faite tu veux que lorsque tu a cliké sur le bouton, il insert les infos dans la base de données, mais que apré il te ramene sur la page index.php ???

                        Ben y suffit dans ton form de mettre action="index.php"

                        1. oui c es ca

                          non je dois repasser par la pge inscription pour verifier si les donnée sont bonne non?
                          1. Ben dans ce cas si tu veux repasse par la page inscription, c toi ki voi, mé apré ben mé un lien "retour" un truc du genre pr alé ver index.php ..

                            1. non mais actuellment ca le fait avec ca

                              session_start();
                              $_SESSION['email'] = $_POST['email'];
                              header('Location: index.php');
                              exit();

                              mais j aimerais rajouter une phrase pour dire qu un mail vient d etre envoier et apres rediriger vers la page index
                              1. Ben enleve le header là, mets dans ton form action="index.php" et puis tu mets le ptit script ke je té doné là ca doi marché !!!
                                1. si j ai bien compris je met ca
                                  <form action="index.php" method="post">

                                  et j efface cela :

                                  session_start();
                                  $_SESSION['email'] = $_POST['email'];
                                  header('Location: index.php');
                                  exit();

                                  si c es ok, ca ne s enregistre pas vu que c es la pagee inscription qui m inscris dans ma base

                                  as tu una autre idée?
                                  • 1
                                  • 2

                                  Discussions similaires

                                  Espace membre

                                  1 réponse