Envoi d'email et "decryptage" [Résolu]

Signaler
Messages postés
4
Date d'inscription
mardi 30 décembre 2003
Statut
Membre
Dernière intervention
28 juin 2006
-
Messages postés
4
Date d'inscription
mardi 30 décembre 2003
Statut
Membre
Dernière intervention
28 juin 2006
-
Bonjour,
Je découvre un peu le PHP (je n’y suis confronté que très rarement et pour des choses simples), et j’ai voulu essayer de crée un formulaire d’enregistrement dans une base de donnée via Flash et php.

Je me suis basé sur un tutorial que j’ai modifié avec mes courtes connaissances pour avoir toutes les infos que je demande.
Dans les grandes ligne cela marche, mais il y a deux chose qui bloquent. Une fois les infos enregistrer, je voudrai envoyer automatiquement un email récapitulatif à l’inscrit j’ai écrit ça : $ToEmail "$emailnew"; alors que ça fonctionne avec une adresse pré remplie genre $ToEmail "test@test.com";

2e problème, je voudrais que le mot de passe envoyer dans l’email soit « décodé », et mes connaissances sont insuffisantes pour comprendre le fonctionnement de cette fonction.

Voici mon code complet, et merci d’avance pour votre aide.

<?
// Fonction pour parser les variables vers FLASH
function Parse($variable,$valeur) {
echo "&" . $variable . "=" . utf8_encode($valeur);
}
$lognew=$HTTP_POST_VARS['lognew'];
$mpsnew=$HTTP_POST_VARS['mpsnew'];
$nomnew=$HTTP_POST_VARS['nomnew'];
$prenomnew=$HTTP_POST_VARS['prenomnew'];
$societenew=$HTTP_POST_VARS['societenew'];
$emailnew=$HTTP_POST_VARS['emailnew'];
$adressenew=$HTTP_POST_VARS['adressenew'];
$cpnew=$HTTP_POST_VARS['cpnew'];
$villenew=$HTTP_POST_VARS['villenew'];
$paysnew=$HTTP_POST_VARS['paysnew'];
$telnew=$HTTP_POST_VARS['telnew'];
$faxnew=$HTTP_POST_VARS['faxnew'];

 
//Fontion "decoder" (facultative)
function decoder($texte){
    $texte = utf8_decode($texte);
      /*$texte = stripslashes($texte);
    $texte = trim($texte);
    $texte = htmlentities($texte, ENT_QUOTES);
    $texte = strip_tags($texte);
    $texte = nl2br($texte);
    $texte = str_replace("&gt;", ">", $texte);
    $texte = str_replace("&lt;", "<", $texte);*/
        
    $texte = str_replace("è","%E8",$texte);    
    $texte = str_replace("é","%E9",$texte);    
        $texte = str_replace("è","%EA",$texte);
        $texte = str_replace("ç","%E7",$texte);
        $texte = str_replace("%","%25",$texte);
        $texte = str_replace("!","%21",$texte);
        $texte = str_replace(""","%22",$texte);
        $texte = str_replace("#","%23",$texte);
        $texte = str_replace("\$","%24",$texte);
        $texte = str_replace("&","%26",$texte);
        $texte = str_replace("'","%27",$texte);
        $texte = str_replace("(","%28",$texte);
        $texte = str_replace(")","%29",$texte);
        $texte = str_replace("*","%2A",$texte);
        $texte = str_replace("+","%2B",$texte);
        $texte = str_replace(",","%2C",$texte);
        $texte = str_replace("-","%2D",$texte);
        $texte = str_replace(".","%2E",$texte);
        $texte = str_replace("/","%2F",$texte);
        $texte = str_replace(":","%3A",$texte);
        $texte = str_replace(";","%3B",$texte);
        $texte = str_replace("<","%3C",$texte);
        $texte = str_replace("=","%3D",$texte);
        $texte = str_replace(">","%3E",$texte);
        $texte = str_replace("?","%3F",$texte);
        $texte = str_replace("@","%40",$texte);
        $texte = str_replace("[","%5B",$texte);
        $texte = str_replace("]","%5D",$texte);
        $texte = str_replace("^","%5E",$texte);
        $texte = str_replace("_","%5F",$texte);
        $texte = str_replace("`","%60",$texte);
        $texte = str_replace("{","%7B",$texte);
        $texte = str_replace("|","%7C",$texte);
        $texte = str_replace("}","%7D",$texte);
        $texte = str_replace("~","%7E",$texte);
        $texte = str_replace("¢","%A2",$texte);
        $texte = str_replace("£","%A3",$texte);
        $texte = str_replace("¥","%A5",$texte);
        $texte = str_replace("|","%A6",$texte);
        $texte = str_replace("§","%A7",$texte);
        $texte = str_replace("«","%AB",$texte);
        $texte = str_replace("¬","%AC",$texte);
        $texte = str_replace("¯","%AD",$texte);
        $texte = str_replace("º","%B0",$texte);
        $texte = str_replace("±","%B1",$texte);
        $texte = str_replace("ª","%B2",$texte);
        $texte = str_replace(",","%B4",$texte);
        $texte = str_replace("µ","%B5",$texte);
        $texte = str_replace("»","%BB",$texte);
        $texte = str_replace("¼","%BC",$texte);
        $texte = str_replace("½","%BD",$texte);
        $texte = str_replace("¿","%BF",$texte);
    return $texte;
}    
$lognew = decoder($lognew);
$mpsnew = decoder($mpsnew);
$nomnew = decoder($nomnew);
$prenomnew = decoder($prenomnew);
$societenew = decoder($societenew);
$emailnew = decoder($emailnew);
$adressenew = decoder($adressenew);
$cpnew = decoder($cpnew);
$villenew = decoder($villenew);
$paysnew = decoder($paysnew);
$telnew = decoder($telnew);
$faxnew = decoder($faxnew);
//ici on commence avec les requêtes MySQL pour vérifier dans la table

include ('./connect.php');//ici on inclut le fichier avec l'accès MySQL.

$crypt=md5($mpsnew);
    $sql "SELECT * FROM tbl_user WHERE login '$lognew'";//On sélectionne dans la table "tbl_user" le login qui a pour valeur la variable "$login"
    $req = mysql_query($sql);  
    $result = mysql_numrows($req);// on compte le nombre de résultats

    if($result!=0)  // le login existe déjà
        {
        Parse("resultat","le login '$lognew' existe déjà, désolé"); //alors on renvoi au Flash que le login '$lognew' existe déjà
        }
    else  //sinon le login n'existe pas  
        {    
        $sql = "INSERT INTO tbl_user (login,pwd,nom,prenom,societe,email,adresse,cp,ville,pays,tel,fax) VALUES ('$lognew','$crypt','$nomnew','$prenomnew','$societenew','$emailnew','$adressenew','$cpnew','$villenew','$paysnew','$telnew','$faxnew')"; //Alors on insert dans la table le nouvel utilisateur
      mysql_query ($sql);
      Parse("resultat"," $lognew, enregistrement reussi");//alors on renvoi au Flash que le membre est enregistré
        }

$ToEmail3 = "$emailnew";
$ToEmail = "$emailnew";

$ToSubject = "Confirmation";

$EmailBody = "Informations sur l'internaute\n\n NOM : $lognew\n PRENOM : $crypt\n\n ADRESSE : $nomnew\n CODE POSTAL : $prenomnew\n VILLE : $societenew\n PAYS : $emailnew\n\n Téléphone : $adressenew\n Fax : $cpnew\n EMAIL : $villenew\n\n COMMENTAIRE : $paysnew\n\n  $telnew \n $faxnew" ;

$headers="From: test@test.com";

mail($ToEmail,$ToSubject,$EmailBody,$headers);

?>

4 réponses

Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
5
Tu "cryptes" ton mot de passe en md5

md5 n'est pas un algorithme réversible, il n'y a pas de méthode pour
depuis la trace md5 retrouver le pass d'origine (rien de faisable en
php ou flash en tout cas et avec un seul ordi)


Pour ton mail, à un moment tu utilises sur $emailnew la fonction decode()

Or cette fonction va remplacer le "@" par "%40", donc ca ne risque pas de fonctionner pour la suite ;o)

Le code est pas très joli sinon, mais je suppose que ce n'est pas le but de ton post alors je t'ennuie pas avec ca...


Pour découvrir les bases de php, je te conseille de "perdre" une demie
journée sur http://www.siteduzero.com/, leur cours est relativement
bien fait et pensé pour les débutants :)
Messages postés
4
Date d'inscription
mardi 30 décembre 2003
Statut
Membre
Dernière intervention
28 juin 2006

J'ai regler le probleme de l'envoie d'email grace a la methode $_POST, mais si quelqu'un a une idée pour de decodage...
Messages postés
4
Date d'inscription
mardi 30 décembre 2003
Statut
Membre
Dernière intervention
28 juin 2006

Merci pour le lien, j’ai pas trop le temps en ce moment, mais je sens que ça va bien m’occuper pendant les 12h d’avion qui m’attende dans 3 semaines. Ainsi que pour le compliment sur le code (même si la partie cryptage n’ait pas de moi).

En effet, l’email arrive sous la forme suivante :
Email : test%40test%2Ecom je vais voir pour modifier ça.

Sinon pour la partie cryptage, j’ai contourné le problème. J’ai recopié le code dans une nouvelle variable avant qu’elle ne soit encodée. Comme ça j’envoie celle encoder a ma BDD et le clone dans l’email. Ça marche nickel.

Merci pour le coup de main.
Messages postés
4
Date d'inscription
mardi 30 décembre 2003
Statut
Membre
Dernière intervention
28 juin 2006

Dernière remarque au cas où quelqu’un voudrai s’en inspirer (on ne sait jamais, les choses simples sont parfois les meilleurs). La partie « Envoie de l’email » doit être déplacé dans la condition « else  //sinon le login n'existe pas {… » Sinon, si le login existe déjà, la personne enregistrée recevra un mail alors comme quoi elle est enregistrée avec un login qui ne marchera pas.