Se connecter / S'enregistrer
Votre question

n'envoi pas le mail de confirmation

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
26 Janvier 2007 14:45:33

boonjour, j´ai mon script pour l´espace membre mais apres l´inscription, il n´envoi pas le mail de confirmation pouvez vous m´aidez svp merci

voici le script:





<?php
session_start();
if(@$_SESSION[´session´]) exit; //Si la personne est identifiée, on lui interdit l´accès à la page d´inscription

$titre_page = ´Inscription´; //Définition du titre de la page
include_once ´recup_config.php´; //On récupère la configuration du script
include_once ´haut.php´; //on affiche le haut (header)

if( isset($_POST[´envoi´]) ) {

extract ($_POST); //On extrait les variables du formulaire

$pseudo=form($pseudo);
$email=form($email);
$mdp=form($mdp);
$mdp2=form($mdp2);

//// VERIFICATIONS BANALES ////
if(!$mdp || !$ mdp2 || strlen($mdp) < 5)
$erreur .="Votre mot de passe ou(et) sa confirmation est(sont) inexisant(s) ou fait(font) moins de 5 carractères.<br />";

if($mdp != = $mdp2)
$erreur .="Votre mot de passe n\´est pas le meme que sa confirmation.<br />";

if(!$pseudo || strlen($pseudo) > 15 || strlen($pseudo) < 3)
$erreur .="Votre pseudo est inexisant ou ne fait pas entre 3 et 15 carractères.<br />";

if(!$email)
$erreur .="Votre e-mail est innexistant.<br />";

if( strlen($erreur) > 5 ) {
echo $erreur ,´<a href="#" onClick="history.back()">Retour à l\´inscription</a>´;
include_once ´bas.php´;
exit;
}
connexion();
//// VERIFICATIONS DES EXISTANCES ////
$reponse_mail = @mysql_query("SELECT email FROM ". PREFIX ."membres WHERE email=´$email´") or die (´Erreur de vérification d\´e-mail déjà existant´); //verification si e-mail existe déjà
$count_mail = @mysql_num_rows($reponse_mail);
if($count_mail === 1)
$erreur .="Cet e-mail existe déjà.<br />";

$reponse_pseudo=mysql_query("SELECT pseudo FROM ". PREFIX ."membres WHERE pseudo=´$pseudo´") or die (´Erreur de vérification du pseudo déjà existant´); //verification si pseudo existe déjà
$count_pseudo=mysql_num_rows($reponse_pseudo);
if($count_pseudo === 1)
$erreur .="Ce pseudo existe déjà.<br />";

if( strlen($erreur) > 5 ) {
echo $erreur ,´<a href="#" onClick="history.back()">Retour à l\´inscription</a>´;
include_once ´bas.php´;
exit;
}

$alea = id_aleatoire(); //Création d´un identifiant aléatoire

$passe = md5($mdp); //Encodage en md5 (c´est pas le plus sécurisé possible)

if($environement_site == 1 AND $validation_site == 1) $validation_site = 3; //Si on est en local, ca revient à ce qu´il n´y ai aucune validation par mail.
$validation = 0;
if($validation_site == 3) $validation = 1;

mysql_query("INSERT INTO ". PREFIX ."membres VALUES (´´, ´$alea´, ´$pseudo´, ´$passe´, ´$email´, $validation, 3) ") or die (´Erreur d\´insertion dans la base de données´);

if($validation_site == 1)
echo´<span style="color:#00B222">Merci de vous vous etre inscrit à ´, $nom_site ,´.<br />
Un e-mail a été envoyé pour valider votre inscription.</span> <a href="index.php">Retourner à l\´acceuil.</a>´;

if($validation_site == 2)
echo´<span style="color:#00B222">Merci de vous vous etre inscrit à ´, $nom_site ,´.<br />
Un administrateur doit valider votre inscription pour que vous puissiez vous identifier.</span> <a href="index.php">Retourner à l\´acceuil.</a>´;

if($validation_site == 3)
echo´<span style="color:#00B222">Merci de vous vous etre inscrit à ´, $nom_site ,´.<br />
Vous pouvez vous connecter dès maintenant.</span> <a href="index.php">Retourner à l\´acceuil.</a>´;

if($environement_site == 2)
{
if($validation_site == 1)
mail($email, ´[´, $nom_site ,´] Inscription´, "Bonjour,
Vous vous êtes bien inscrit sur ". $nom_site .".
Voici vos informations de connexion (à conserver) :
Pseudo : ". $pseudo ."
Mot de passe : ". $mdp ."

Vous devez valider votre inscription via ce lien :
". $adresse_site ."validation_mail.php?id=". $alea ."

________________________
Cordialement,
". $nom_site ."", "From: ". $nom_site ."<robot@". $nom_site .">");

if($validation_site == 3)
mail($email, ´[´, $nom_site ,´] Inscription´, "Bonjour,
Vous vous êtes bien inscrit sur ". $nom_site .".
Voici vos informations de connexion (à conserver) :
Pseudo : ". $pseudo ."
Mot de passe : ". $mdp ."

________________________
Cordialement,
". $nom_site ."", "From: ". $nom_site ."<robot@". $nom_site .">");
}
}
else {
?>
<div align="center">
<h1>Inscription</h1>
<form method="post" action="">
<table class="inscription">
<tr>
<td><label for="pseudo">Pseudo</label></td>
<td><input name="pseudo" type="text" id="pseudo" /></td>
</tr>
<tr>
<td><label for="email">E-mail</label></td>
<td><input name="email" type="text" id="email" /></td>
</tr>
<tr>
<td><label for="mdp">Mot de passe</label></td>
<td><input name="mdp" type="password" id="mdp" /></td>
</tr>
<tr>
<td><label for="mdp2">Confirmation du mot de passe</label></td>
<td><input name="mdp2" type="password" id="mdp2" /></td>
</tr>
<tr>
<td colspan="2"><div align="center"><input type="submit" value="Inscription" name="envoi" /></div></td>
</tr>
</table>
</form><br />
<a href="index.php">Retour</a></div>
<?php
}
include_once ´bas.php´; //on affiche le bas (footer)
?>

Autres pages sur : envoi mail confirmation

26 Janvier 2007 18:58:33

Ce passage là :

Citation :

´[´, $nom_site ,´] Inscription´, "Bonjour,
Vous vous êtes bien inscrit sur ". $nom_site .".
Voici vos informations de connexion (à conserver) :
Pseudo : ". $pseudo ."
Mot de passe : ". $mdp ."

________________________
Cordialement,
". $nom_site ."", "From: ". $nom_site ."<robot@". $nom_site .">" );


... est bien loin d'être propre... tu voudrais pas le mettre dans une variable plutot ? Ca serait déjà plus clair...

Ta variable $environment elle sort d'où ? Elle a quelle valeur ?
26 Janvier 2007 19:02:40

ouai mais je fais comment pour le mettre dans une variable?
26 Janvier 2007 19:07:18

$contenu="...".$test1."...".$test2."...";

Sinon tu as testé tout simplement ton envoi de mail sans toutes les conditions du dessus ? Mieux vaut commencer par des trucs simples puis améliorer plutot que de tout mettre d'un coup...
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS