Erreur fonction mail();

Ce topic a été résolu
paulbarbarin

paulbarbarin Le 29 janvier 2017 à 02:31 (Édité le 25 janvier 2019 à 17:53)

Bonjour. Je ne reçois pas le mail mais je ne sais pas où est l'erreur .. Quelqu'un peut m'aider svp ?

if(isset($_POST['submit'])) { //Form inscription si on apppuye alors :
if(!empty($_POST['name']) AND !empty($_POST['email']) AND !empty($_POST['password1']) AND !empty($_POST['password2'])) { // Si les variables ne sont pas vides alors :
$pseudo = htmlspecialchars(trim($_POST['name'])); //Raccourci
$email = htmlspecialchars(trim($_POST['email'])); //Raccourci
$password1 = htmlspecialchars(trim($_POST['password1'])); //Raccourci
$password2 = htmlspecialchars(trim($_POST['password2'])); //Raccourci
if(strlen($pseudo) > 5 AND (strlen($pseudo) < 254)) { //Si le pseudo est entre 4 et 254 alors :
$requireemail = $bdd->prepare("SELECT * FROM membres WHERE email = ?"); //On prepare le ifexist
$requireemail->execute(array($email)); // On execute
$ifexist = $requireemail->RowCount(); //Rowcount
if($ifexist == 0) { // SI no exist alors :
if(strlen($password1) >= 8 AND (strlen($password1) < 254)) { // Si password entre 8 et 254 alors :
if($password1 == $password2) { // pass1 = pass2 alors :   
$longueurKey = 8;
$key = "";
for($i=1;$i<$longueurKey;$i++) {
   $key .= mt_rand(0,8);
}
$header="MIME-Version: 1.0\r\n";
$header.='From:"Cyberastuces.com"<contact@cyberastuces.com>'."\n";
$header.='Content-Type:text/html; charset="uft-8"'."\n";
$header.='Content-Transfer-Encoding: 8bit';
$message='
                     <html>
                        <body>
                           <div align="center">
                           <center><a href="http://www.cyberastuces.com/confirmation.php?pseudo='.$pseudo.'&key='.$key.'"><img src="http://www.cyberastuces.com/mailing/confirm.jpg"></a></center>
                           </div>
                        </body>
                     </html>
               ';
mail($email, "Confirmation de votre compte", $message, $header);
AlphaTesteuse

AlphaTesteuse Le 29 janvier 2017 à 18:24

Bonjour,
Est-ce que rowCount avec un r minuscule règle le problème ?
paulbarbarin

paulbarbarin Le 29 janvier 2017 à 21:52

Salut !
Non, RowCount() donne le même résultat que rowcount() ...
paulbarbarin

paulbarbarin Le 29 janvier 2017 à 21:54

Et quand je mets mail('monadresse@domain.extension','Mon sujet','Mon message')
ca marche, mais je ne peux pas utiliser de variables et ça poses problème avec le header encore plus ...
AlphaTesteuse

AlphaTesteuse Le 30 janvier 2017 à 00:01

J'ai c/c ton code et réindenté pour y voir plus clair.
As-tu bien fermé toutes tes accolades dans ton code original ? Dans ton extrait il manque 6 fermantes.
AlphaTesteuse

AlphaTesteuse Le 30 janvier 2017 à 00:06 (Édité le 30 janvier 2017 à 00:07)


if(isset($_POST['submit']))
{ //Form inscription si on apppuye alors :
    if(!empty($_POST['name']) AND !empty($_POST['email']) AND !empty($_POST['password1']) AND !empty($_POST['password2']))
    { // Si les variables ne sont pas vides alors :
        $pseudo = htmlspecialchars(trim($_POST['name'])); //Raccourci
        $email = htmlspecialchars(trim($_POST['email'])); //Raccourci
        $password1 = htmlspecialchars(trim($_POST['password1'])); //Raccourci
        $password2 = htmlspecialchars(trim($_POST['password2'])); //Raccourci
        if(strlen($pseudo) > 5 AND (strlen($pseudo) < 254))
        { //Si le pseudo est entre 4 et 254 alors :
            $requireemail = $bdd->prepare("SELECT * FROM membres WHERE email = ?"); //On prepare le ifexist
            $requireemail->execute(array($email)); // On execute
            $ifexist = $requireemail->RowCount(); //Rowcount
            if($ifexist == 0)
            { // SI no exist alors :
                if(strlen($password1) >= 8 AND (strlen($password1) < 254))
                { // Si password entre 8 et 254 alors :
                    if($password1 == $password2) 
                    { // pass1 = pass2 alors :
                        $longueurKey = 8;
                        $key = "";
                        for($i=1;$i<$longueurKey;$i++) {
                            $key .= mt_rand(0,8);
                        }
                        $header="MIME-Version: 1.0\r\n";
                        $header.='From:"Cyberastuces.com"<contact@cyberastuces.com>'."\n";
                        $header.='Content-Type:text/html; charset="uft-8"'."\n";
                        $header.='Content-Transfer-Encoding: 8bit';
                        $message='
                        <html>
                            <body>
                                <div align="center">
                                    <center><a href="http://www.cyberastuces.com/confirmation.php?pseudo='.$pseudo.'&key='.$key.'"><img src="http://www.cyberastuces.com/mailing/confirm.jpg"></a></center>
                                </div>
                            </body>
                        </html>
                        ';
                        mail($email, "Confirmation de votre compte", $message, $header);
                    }
                }
            }
        }
    }
}

Balatharas

Balatharas Le 31 janvier 2017 à 17:29

Si tu es sous wamp, il est possible que ce ne soit pas le code qui soit erroné, mais juste que wamp a un problème niveau config. J'ai ce problème, et j'ai cherché, mais j'ai fini par laisser tomber, parce que au final, l'envoi fonctionne sous un serveur en ligne.
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte