Envoi d'email après inscription ??

Fermé
iTechapp Messages postés 39 Date d'inscription vendredi 1 mars 2013 Statut Membre Dernière intervention 4 juin 2014 - 2 mars 2014 à 14:39
 Profil bloqué - 14 mars 2014 à 14:05
Bonjour,
Je n'arrive pas à faire fonctionner ma page en rajoutant la fonction d'envoie d'email après inscription. Comment faire ?

Voici mon code:

<?php
//On verifie que le formulaire a ete envoye
if(isset($_POST['username'], $_POST['password'], $_POST['passverif'], $_POST['email'], $_POST['avatar']) and $_POST['username']!='')
{
//On enleve lechappement si get_magic_quotes_gpc est active
if(get_magic_quotes_gpc())
{
$_POST['username'] = stripslashes($_POST['username']);
$_POST['password'] = stripslashes($_POST['password']);
$_POST['passverif'] = stripslashes($_POST['passverif']);
$_POST['email'] = stripslashes($_POST['email']);
$_POST['avatar'] = stripslashes($_POST['avatar']);
}


//On verifie si le mot de passe et celui de la verification sont identiques
if($_POST['password']==$_POST['passverif'])
{
//On verifie si le mot de passe a 6 caracteres ou plus
if(strlen($_POST['password'])>=6)
{
//On verifie si lemail est valide
if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_'{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_'{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
{

//On echape les variables pour pouvoir les mettre dans une requette SQL
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
$avatar = mysql_real_escape_string($_POST['avatar']);
//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
$dn = mysql_num_rows(mysql_query('select id from users where username="'.$username.'"'));
if($dn==0)
{

//On recupere le nombre dutilisateurs pour donner un identifiant a lutilisateur actuel
$dn2 = mysql_num_rows(mysql_query('select id from users'));
$id = $dn2+1;
//On enregistre les informations dans la base de donnee
if(mysql_query('insert into users(id, username, password, email, avatar, signup_date) values ('.$id.', "'.$username.'", "'.$password.'", "'.$email.'", "'.$avatar.'", "'.time().'")'))
{

//Si ca a fonctionne, on naffiche pas le formulaire
$form = false;

$sujet = 'Bienvenue sur Spotwer';
$message = "Bonjour,<br />
<strong>Ceci est un message html envoyé grâce à php.</strong><br />
merci :)";
$destinataire = '$_POST['email']';
$headers = "From: \"expediteur moi\"<no-reply@spotwer.com>\n";
$headers .= "Content-Type: text/html; charset=\"iso-8859-1\"";
if(mail($destinataire,$sujet,$message,$headers))
{

?>

<div class="message">Vous avez bien été inscrit. Vous pouvez dorénavant vous connecter.<br />
<a href="connexion.php">Se connecter</a></div>
<?php

}
else
{
echo "Une erreur c'est produite lors de l'envois de l'email.";
}

}
else
{
//Sinon on dit quil y a eu une erreur
$form = true;
$message = 'Une erreur est survenue lors de l\'inscription.';
}
}
else
{
//Sinon, on dit que le pseudo voulu est deja pris
$form = true;
$message = 'Un autre utilisateur utilise déjà le nom d\'utilisateur que vous désirez utiliser.';
}
}
else
{
//Sinon, on dit que lemail nest pas valide
$form = true;
$message = 'L\'email que vous avez entré n\'est pas valide.';
}
}
else
{
//Sinon, on dit que le mot de passe nest pas assez long
$form = true;
$message = 'Le mot de passe que vous avez entré contien moins de 6 caractères.';
}
}
else
{
//Sinon, on dit que les mots de passes ne sont pas identiques
$form = true;
$message = 'Les mots de passe que vous avez entré ne sont pas identiques.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<div class="message">'.$message.'</div>';
}
//On affiche le formulaire
?>
<div class="content">
<form action="/signup/" method="post">
<div class="center">

<p>
<input type="txt" name="username" placeholder="Nom d'utilisateur" value="<?php if(isset($_POST['username'])){echo htmlentities($_POST['username'], ENT_QUOTES, 'UTF-8');} ?>" /></br>
</p>

<p>
<input type="password" name="password" placeholder="Mot de passe" /></br>
</p>

<p>
<input type="password" name="passverif" placeholder="Vérification" /></br>
</p>

<p>
<input type="txt" name="email" placeholder="Adresse email" value="<?php if(isset($_POST['email'])){echo htmlentities($_POST['email'], ENT_QUOTES, 'UTF-8');} ?>" /></br>
</p>

<p>
<input type="txt" name="avatar" placeholder="Lien de votre photo de profil (falcultatif)" value="<?php if(isset($_POST['avatar'])){echo htmlentities($_POST['avatar'], ENT_QUOTES, 'UTF-8');} ?>" /></br>
</p>

<p>
<button class="login-submit" id="login-submit" type="submit">M'inscrire</button>
</p>
</br>
</div>
</form>
</div>
<?php
}
?>


Merci.
A voir également:

1 réponse

Profil bloqué
14 mars 2014 à 12:09
au premier abord, et en lisant ton code très (mais alors vraiment très rapidement), il est tout a fait cohérent, peut tu nous dire ce qui ne fonctionne pas ? l'envoi de mail ? la soumission du formulaire ?

as tu un retour d'erreur ? a quelle(s) ligne(s) etc...?
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
14 mars 2014 à 13:03
Tu devrais lui rappeler que les balises
<code php></code@>
(sans le @) c'est pas optionnel autour de son code...
0
Profil bloqué
14 mars 2014 à 14:05
en effet je suis entièrement d'accord avec toi...^^
0