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. merci arthezius

    j avais fait cela mais je n etais pas assez patient lol

    974_Vin's_974 merci a toi oui le prob est resolu

    merci beaucoup a vous 2
    1. oui c es ce que je pensais faire mais je savais pas si ca allais?

      mais ceci tu le met ou?

      <?php header ("Refresh: 5; URL=index.php"); ?>

      merci de ton aide
      1. ça tu le met en tout début de la page qui affiche le message. Il est impératif que rien ne s'affiche avant.
    2. En fait c'est tout bête en soit.
      A la ligne ou tu as:
      header('Location: index.php'); 

      Remplace index.php par une autre page sur laquel tu affiches simplement le message (par exemple):
      <p>Votre inscription s'est bien déroulé. Un mail de confirmation viens de vous être envoyé.</p>
      <p><a href="index.php">Retour à l'accueil</a></p>

      Tu peux même inclure une redirection automatique avec un temps prédéfini:
      <?php header ("Refresh: 5; URL=index.php"); ?>
      1. oki ca marche pas de prob

        je vais essaier de trouver merci de ton aide
        a+
        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. 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. 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 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. oui c es ca

                  non je dois repasser par la pge inscription pour verifier si les donnée sont bonne non?
                  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. ca ne vas pas si je le met tous en haut la page inscription ne souvre pas redirection immedaite vers index
                      1. Ben coupe ca, et mets le tout en haut de ta page entre des balise <?php bien sur !!! ?>

                        1. kes ca fé là ca ???

                          session_start();
                          $_SESSION['email'] = $_POST['email'];
                          header('Location: index.php');
                          exit();
                          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. 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. l erreur 111 c est :
                                session_start();
                                et 113 c est ca
                                header('Location: membre.php');

                                Merci de votre aide
                                • 1
                                • 2

                                Discussions similaires

                                Espace membre

                                1 réponse