Aide probleme mail je trouve pas mon erreur

Petit nouveau ! | 7 Messages

19 mai 2014, 10:11

Bonjours,

ca fait 2 jours que je cherche mon erreur mais je le trouve
<?php
require_once 'connect.php';

if($_POST){
    
   
    /*  ------ SI LES CHAMP SONT REMPLIE GENERATION DU CODE ET ENVOI D'UN MAIL ----- */
    if($_POST['recup_mail'] == $_POST['confirm_recup_mail']){
        
       $recup_mail = $_POST['recup_mail'];
        
       $recup_mdp = mysqli_query($mysqli, "SELECT * FROM membres WHERE email ='$recup_mail' LIMIT 1 ; ");
        
         if(mysqli_num_rows($recup_mdp)){
          
       
        
      
        
        
        /* --------------- Generation code confirmation ---------------------- */
        $characts    = 'abcdefghijklmnopqrstuvwxyz';
        $characts   .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';	
	$characts   .= '1234567890'; 
	$code_aleatoire      = ''; 

	for($i=0;$i < 12;$i++)    //12 est le nombre de caractères
	{ 
        $code_aleatoire .= substr($characts,rand()%(strlen($characts)),1); 
	}

        /* --------------- FIN Generation code confirmation ---------------------- */
        
        $message = "verifier votre boite mail";
        
        
       /* -------------- ENVOI DU MAIL  --------------- */
        $lemail = $_POST['recup_mail'];
        $letexte = 'cliquer sur ce lien pour changer votre mot de passe' ;

        $mon_mail = '[email protected]';
        $sujet = 'Votre nouveau mot de passe';
        $texte = $letexte;
        $entete = "From: $mon_mail" . "\r\n" ;
        $entete.= "Content-Type: text/html; charset=\"iso-8859-1\"".
        "Reply-To: $mon_mail" . "\r\n" ;
        'X-Mailer: PHP/' . phpversion();
        
        // fonction d'envoi de mail
        if(mail($lemail, $sujet, $texte, $entete)){
        // le mail est bien envoyé
        $erreur = "<h4>Message envoyé <small> Je vous répondrai dans les plus bref délais</small></h4>";
        header("refresh:3;url=./" );    
        
        $req1 = mysqli_fetch_assoc($recup_mdp);
        
        $pseudo = $req1['login'];
        $idmembres = $req1['id'];
        mysqli_query($mysqli, "INSERT INTO recup_mdp VALUES('','$pseudo',' $lemail','$code_aleatoire','' );");
        
    }else{
        
        echo "ce compte n'existe pas";
    }
    }
    
        }
        
    }
    // si  les 2 champs ne corresponde pas
    
    
    
    
    
    
    
    


?>

<!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
       
        <form method='POST' action="" name="adminform">
            
            email : <input type="text" name="recup_mail">
            retaper votre email : <input type="text" name="confirm_recup_mail">
            
            <input type="submit" value="connexion">
            
            <?php if(isset($message)) {
           
            echo $message;}
            
            
            if(isset($code_aleatoire)) {
           
            echo "<br>".$code_aleatoire ;}
            
            
            ?>
            
        </form>
   
    </body>
</html>
Merci d'avance

Eléphant du PHP | 422 Messages

19 mai 2014, 10:29

hello

et c'est quoi le résultat de l'erreur ?

il y a un message ?

++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Petit nouveau ! | 7 Messages

19 mai 2014, 10:42

ca m'affiche le code generer et ca me dit que le mail a bien eter envoyer

quand je remplace $lemail = $_POST['recup_mail'];
par $lemail ='[email protected] ']; je recoi le mail bizare

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 mai 2014, 11:08

Modération :
Merci d'utiliser un titre clair et qui correspond bien à ta demande.
Les titres contenant "HELP !", "Aidez-moi", "J'ai un problème", "Ça marche pas",...
n'apportent rien à la compréhension de ta demande.

Par ailleurs, nous savons déjà par ton message que tu as besoin d'aide.

Tu peux corriger ton titre en éditant ton premier message.

Merci de prendre le temps de lire les règlements.


pour info
if($_POST){
c'est inutile la variable existe toujours, à la limite
if(!empty($_POST)){} peux être utile.

en générale on utilise plutôt un champs de formulaire pour savoir si celui à correctement été posté.
par exemple if(!empty($_POST['recup_mail'])){}

si non + pour savoir exactement ce qui ne vas pas (message d'erreur, symptôme, tests effectué pour déboguer la chose etc.).

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 7 Messages

19 mai 2014, 23:58

je n'arrive pas a modifier mon post

en fait une foi ca marche une foi ca marche plus j'ai tout essayer




Quelqun pourrait tester ce code pour voir si le probleme ne vien pas de mon pc?
Car il me dit toujours le probleme de smtp meme apres l'avoir configurer

Merci
<?php
require_once 'connect.php';

if($_POST){
    
   
    /*  ------ SI LES CHAMP SONT REMPLIE GENERATION DU CODE ET ENVOI D'UN MAIL ----- */
    if($_POST['recup_mail'] == $_POST['confirm_recup_mail']){
        
       $recup_mail = $_POST['recup_mail'];
        
       $recup_mdp = mysqli_query($mysqli, "SELECT * FROM membres WHERE email ='$recup_mail' LIMIT 1 ; ");
        
         if(mysqli_num_rows($recup_mdp)){
          
       
        
      
        
        
        /* --------------- Generation code confirmation ---------------------- */
        $characts    = 'abcdefghijklmnopqrstuvwxyz';
        $characts   .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';	
	$characts   .= '1234567890'; 
	$code_aleatoire      = ''; 

	for($i=0;$i < 12;$i++)    //12 est le nombre de caractères
	{ 
        $code_aleatoire .= substr($characts,rand()%(strlen($characts)),1); 
	}

        /* --------------- FIN Generation code confirmation ---------------------- */
        
        $message = "verifier votre boite mail";
        
        
       /* -------------- ENVOI DU MAIL  --------------- */
        $lemail = $_POST['recup_mail'];
        $letexte = 'cliquer sur ce lien pour changer votre mot de passe' ;

        $mon_mail = '[email protected]';
        $sujet = 'Votre nouveau mot de passe';
        $texte = $letexte;
        $entete = "From: $mon_mail" . "\r\n" ;
        $entete.= "Content-Type: text/html; charset=\"iso-8859-1\""; 
        "Reply-To: $mon_mail" . "\r\n" ;
        'X-Mailer: PHP/' . phpversion();
        
        // fonction d'envoi de mail
        if(mail($lemail, $sujet, $texte, $entete)){
        // le mail est bien envoyé
        $erreur = "<h4>Message envoyé <small> Je vous répondrai dans les plus bref délais</small></h4>";
        header("refresh:3;url=./" );    
        
        $req1 = mysqli_fetch_assoc($recup_mdp);
        
        $pseudo = $req1['login'];
        $idmembres = $req1['id'];
        mysqli_query($mysqli, "INSERT INTO recup_mdp VALUES('','$pseudo',' $lemail','$code_aleatoire','' );");
        
    }else{
        
        echo "ce compte n'existe pas";
    }
    }
    
        }
        
    }
    // si  les 2 champs ne corresponde pas
    
    
    
    
    
    
    
    


?>

<!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
       
        <form method="POST" action="" name="adminform">
            
            email : <input type="text" name="recup_mail">
            retaper votre email : <input type="text" name="confirm_recup_mail">
            
            <input type="submit" value="connexion">
            
            <?php if(isset($message)) {
           
            echo $message;}
            
            
            if(isset($code_aleatoire)) {
           
            echo "<br>".$code_aleatoire ;}
            
            
            ?>
            
        </form>
   
    </body>
</html>

ViPHP
xTG
ViPHP | 7331 Messages

20 mai 2014, 07:36

Car il me dit toujours le probleme de smtp meme apres l'avoir configurer
et c'est quoi le résultat de l'erreur ?

Petit nouveau ! | 7 Messages

20 mai 2014, 13:41

maintenant ca marche mais quand je met un lien local le mail s'envoi mais je ne le recois pas
$envoi = $_POST['confirm_recup_mail'];
        $letexte = 'cliquer sur ce lien pour changer votre mot de passe <a href=" http://localhost/Dossier-wamp/client2014/admin/confirm.php?id='.$code_aleatoire.'">lien</a>';

        $mon_mail = '[email protected]';
        $sujet = 'Votre nouveau mot de passe';
        $texte = $letexte;
        $entete = "From: $mon_mail" . "\r\n" ;
        $entete.= "Content-Type: text/html; charset=\"UTF-8\"".
        "Reply-To: $mon_mail" . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
        
        // fonction d'envoi de mail
        if(mail($envoi, $sujet, $texte, $entete)){
        
     
        header("refresh:3;url=./" );    
        }

ViPHP
xTG
ViPHP | 7331 Messages

20 mai 2014, 15:35

Si je comprend bien si tu ne mets pas de lien tu reçois l'email.
Si tu mets un lien dedans tu ne le reçois pas ?
Regardes ta boite de courriers indésirables. Et si toujours rien c'est qu'il est filtré en amont (chez ton fournisseur de service mail).

Petit nouveau ! | 7 Messages

20 mai 2014, 15:48

oui je croi avoir trouver le probleme

C'est le Http dans le lien quand je met https je reçois le mail, mais mon lien locale et

http://localhost/Dossier-wamp/client201 ... onfirm.php

quelqun a une solution?