Problème confirmation par email PHPMailer

a marqué ce sujet comme résolu.

Bonjour tout le monde ! Je suis débutant en PHP et actuellement je crée un site web pour un de mes projets. Le problème est mineur, Lignes qui s'affichent sur la page après envoi du mail de confirmation

<?php

$bdd= new PDO('mysql:host=127.0.0.1; dbname=espace_membre', 'root', '');

if(isset($_POST['forminscription']))  
{
    $pseudo=htmlspecialchars($_POST['pseudo']);
    $mail=htmlspecialchars($_POST['mail']);
    $mail2=htmlspecialchars($_POST['mail2']);
    $mdp_hashed=password_hash($_POST['mdp'], PASSWORD_BCRYPT);
    
if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']))
    {
    $pseudolength=strlen($pseudo);
    if($pseudolength<=255)
        {
         if($mail==$mail2)
        {
             if(filter_var($mail, FILTER_VALIDATE_EMAIL))
        {
                 $reqmail = $bdd->prepare("SELECT * FROM membre WHERE mail= ?");
                 $reqmail->execute(array($mail));
                 $mailexist= $reqmail->rowCount();
                 if($mailexist==0)
                     {
                     $reqpseudo = $bdd->prepare("SELECT * FROM membre WHERE pseudo= ?");
                 $reqpseudo->execute(array($pseudo));
                 $pseudoexist= $reqpseudo->rowCount();
                 if($pseudoexist==0)
                     {
                     
        if(password_verify($_POST['mdp'], $mdp_hashed))
        {
        $longueurKey = 15;
        $key = "";
        for($i=1; $i<$longueurKey; $i++){
            $key .=mt_rand(0,9);
        }
        $insertmbr=$bdd->prepare("INSERT INTO membre(pseudo, mail, mot_de_passe, confirmkey)VALUES(?, ?, ?, ?)");
        $insertmbr->execute(array($pseudo, $mail, $mdp_hashed, $key));
    
            
require("PHPMailer/PHPMailer.php");
require("PHPMailer/SMTP.php");
    require("PHPMailer/Exception.php");


    $mail3 = new PHPMailer\PHPMailer\PHPMailer();
    $mail3->IsSMTP(); 

    $mail3->CharSet="UTF-8";
    $mail3->Host = "smtp.gmail.com";
    $mail3->SMTPDebug = 1; 
    $mail3->Port = 587 ; //465 or 587

     $mail3->SMTPSecure = 'tls';  
    $mail3->SMTPAuth = true; 
    $mail3->IsHTML(true);

    //Authentication
    $mail3->Username = "Mon_id_gmail@gmail.com";
    $mail3->Password = "Mon_password_gmail";
$mail3->setFrom('Mon_id_gmail@gmail.com');
$mail3->addAddress($mail, $pseudo);
$mail3->Subject = 'Confirmation de compte';
$mail3->Body = '
<div align="center">
<a href="http://localhost/confirmation.php?pseudo='.urlencode($pseudo).'&key'.$key.'"><b>Confirmez votre compte !</b></a>
</div>';

            if ($mail3->send()){
            $erreur="Votre compte a bien été créé ! <a href=\"connexion4.php\">Me connecter</a>";
            }
            else{
             echo "Quelque chose s'est mal déroulé durant l'inscription, nous vous prions de regarder le problème !";
            }
   
        }
             else
        {
        $erreur="Vos mots de passe ne correspondent pas !";
        }
                     }
                 else {
        $erreur="Cette adresse mail est déjà utilisée !";
        }
                     }
                 else
                     {
        $erreur="Ce pseudo est déjà utilisé !";
        }
                 } 
             else
                 {
        $erreur="Votre adresse mail n'est pas valide";
        }
        }
        else
        {
        $erreur="Vos adresses mail ne sont pas identiques !";
        }
        }
    else
        {
        $erreur="votre pseudo ne doit pas dépasser 255 caractères !";
        }
}
else {
$erreur='<b><font color="red">Tous les champs doivent être complétés !</font></b>';    
}
}
?>

comme vous pouvez le voir sur cette image lorsque quelqu’un souhaite s’inscrire un message lui est envoyé dans sa boîte de messagerie pour qu’il confirme son mail, le seul truc chiant c’est qu’après que le message ait été envoyé il y a ces écritures contenant certaines informations que les gens ne devraient pas voir sur le site. C’est pourquoi afin de résoudre ce problème je sollicite votre aide car j’ai déjà perdu pas mal d’heures pour le régler. Voici le script PHP aussi :

Et voilà la partie HTML :

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf8" />
<title> Inscription </title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
    
    </head>
<body>
  
     <div align="center"> 
      <h2>INSCRIPTION</h2>
      <form method="post" action="">
          <table>
              <tr>
          <td align="right"><label for="pseudo">
              Pseudo :</label>
              </td>
              <td>
          <input class="form-control" type="text"
            placeholder="Votre pseudo" id="pseudo" name="pseudo" value="<?php if(isset($pseudo)) { echo $pseudo; } ?>"/>
      </td>
                  </tr>
              <tr>
          <td align="right"><label for="mail">
              Mail :</label>
              </td>
              <td>
          <input class="form-control" type="email"
            placeholder="Votre mail" id="mail" name="mail" value="<?php if(isset($mail)) { echo $mail; } ?>" />
      </td>
                  </tr>
              <tr>
          <td align="right"><label for="mail2">
              Confirmation mail :</label>
              </td>
              <td>
          <input class="form-control" type="email"
            placeholder="Confirmer mail" id="mail2" name="mail2" value="<?php if(isset($mail2)) { echo $mail2; } ?>" />
      </td>
                  </tr>
              <tr>
          <td align="right"><label for="mdp">
              Mot de passe :</label>
              </td>
              <td>
          <input class="form-control" type="password"
            placeholder="Entrer votre mot de passe" id="mdp" name="mdp" />
      </td>
                  </tr>
        
              </table>
          <br />
          <input class="btn btn-primary" type="submit" name="forminscription" value="Je m'inscris">
          </form>
         <?php
         if(isset($erreur))
         {
        echo '<font color="red">'.$erreur."</font>";
         }
         ?>
      </div>

</body>
</html>
+0 -0

Bonjour,

Merci de faire un effort de formatage et d’utiliser les balises de code afin de présenter votre code. Les images ne sont ni pratiques ni lisibles. Veilles à éviter les titres en majuscule (je l’ai modifié).

Bonjour les gars !

Il n’y a pas que des hommes sur ZdS. Je t’invite à utiliser une formule plus neutre comme « Bonjour tout le monde ! » ou « Bonjour les agrumes » afin d’être plus inclusif.

Pour ce qui est de ton problème. Je n’ai pas bien compris. En gros, la première image c’est ton site Web ? Et quand il y a un problème de connexion alors les données des requêtes effectuées se retrouvent dans le contenu de la page ? C’est bien ça ?

+0 -0

Bonjour,

Merci de faire un effort de formatage et d’utiliser les balises de code afin de présenter votre code. Les images ne sont ni pratiques ni lisibles. Veilles à éviter les titres en majuscule (je l’ai modifié).

Bonjour les gars !

Il n’y a pas que des hommes sur ZdS. Je t’invite à utiliser une formule plus neutre comme « Bonjour tout le monde ! » ou « Bonjour les agrumes » afin d’être plus inclusif.

Pour ce qui est de ton problème. Je n’ai pas bien compris. En gros, la première image c’est ton site Web ? Et quand il y a un problème de connexion alors les données des requêtes effectuées se retrouvent dans le contenu de la page ? C’est bien ça ?

ache

Merci déjà d’avoir pris le temps de me répondre et ça marche je vais tout changer. Quant au problème oui l’image c’est la bannière de mon site. En gros, on est sur la page d’inscription donc avec tous les champs à remplir et quand tous les champs sont remplis un mail de vérification est envoyé via PHPMailer mais le souci c’est qu’il y a ces lignes qui s’affichent pour je ne sais quelle raison c’est pourquoi je voulais savoir d’où ça provient.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte