PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 07-07-2011 15:58:40

dgegeb64
Membre
Inscription : 30-05-2011
Messages : 21

re re re ... recherche pour que mail() marche en teste sur wamp

Aprés avoir parcouru le web et bouquins sur php j'ai pas trouvé de réponses ... :
Donc je souhaite via une page d'inscription (formulaire) :
1 - enregistrer les infos de l'utilisateur dans une base de donnée "inscrit" => ça c'est bon ça marche.
2 - diriger l'internaute vers une pages qui confirme l'inscription et l'envoi de mail => ça c'est bon ça marche.
3 - envoyer un mail de confirmation d'inscription et avec un code (sous format d'un lien) pour activer le compte => en faite je ne sais pas si le mail part ou pas car je ne vois pas de mail dans les boites mail destinataires.


Je vous laisse donc le code PHP ci dessous pour mieux comprendre !


<?php
/*include "connexionb2d.inc.php";*/
require_once 'cnx.php';

if(!empty($_POST) && strlen($_POST['pseudo'])>2 && isset($_POST['mot2passe'])== isset($_POST['conf_mot2passe']) && strlen($_POST['nom'])>3
&& strlen($_POST['prenom'])>3 && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{
  $pseudo=addslashes($_POST['pseudo']);
  $mot2passe=sha1($_POST['mot2passe']);
  $token = sha1(uniqid(rand()));
  $civilite=$_POST['civilite'];
  $nom=addslashes($_POST['nom']);
  $prenom=addslashes($_POST['prenom']);
  $email=$_POST['email'];
 
  /*$sql="INSERT INTO inscrit (pseudo, mot2passe, civilite, nom, prenom, email) VALUES ('$pseudo','$mot2passe','$civilite','$nom','$prenom','$email')";
  @mysql_query($sql,$id_link);*/

 
 
  $q=array('pseudo'=>$pseudo, 'mot2passe'=>$mot2passe, 'token'=>$token, 'civilite'=>$civilite, 'nom'=>$nom, 'prenom'=>$prenom, 'email'=>$email);
  $sql='INSERT INTO inscrit (pseudo,mot2passe,token,civilite,nom,prenom,email) VALUES (:pseudo,:mot2passe,:token,:civilite,:nom,:prenom,:email)';
  $req=$cnx->prepare($sql);
  $req->execute($q);
 
 
 
  //envoi de mail de confirmation
  $to=$email;
  $sujet="Activation de votre compte.";
  $body='
  bonjour,
  Veuillez activer votre compte en cliquant ici -> <a href="http://localhost/Essai2/pages/activate.php?token='
.$token.'&email='.$to.'">Activation de votre compte</a>
  '
;
  $expediteur='From: gbalayer@free.fr';
  /*$entete = "MIME-Version:1.0\r\n";
  $entete = "Content-type:text/html;charset=UTF-8\r\n";
  $entete = 'from:gbalayer.free.fr::'."\r\n".
  'Reply-To:gbalayer@free.fr'."\r\n".
  'X-mailer:PHP/'.phpversion();*/

 
  mail($to,$sujet,$body,$expediteur);
 
header("Location:confirminscription.php");
}
else
{
  if(!empty($_POST) && strlen($_POST['pseudo'])<2)
  {
  $errorpseudo='votre pseudo doit compter plus de deux caractères';
  }
  if(!empty($_POST) && ($_POST['mot2passe']) != ($_POST['conf_mot2passe']))
  {
  $errorpassword='veuillez taper correctement vos mots de passe';
  }
  if(!empty($_POST) && strlen($_POST['nom'])<3)
  {
  $errornom='votre nom doit compter plus de trois caractères';
  }
  if(!empty($_POST) && strlen($_POST['prenom'])<3)
  {
  $errorprenom='votre prenom doit compter plus de trois caractères';
  }
  if(!empty($_POST) && !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
  {
  $erroremail='votre email n\'est pas valide';
  }
}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Inscription</title>
<link href="../css/style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="conteneur">
<div id="header">
<h1>Formulaire d'inscription</h1>

<?php include("menu.php"); ?>
</div><!-- fermeture header -->

<p>Veuillez remplir le formulaire d'inscription ci-dessous :</p>
<fieldset><legend>INSCRIPTION</legend>
<form method="post" action="inscription.php">
  <label for="pseudo">Pseudo :</label>
  <input type="text" name="pseudo" id="pseudo"/>
  <div class="error"><?php if(isset($errorpseudo)){echo $errorpseudo ; }?></div>
  <br/>
  <label for="mot2passe">Mot de passe :</label>
  <input type="password" name="mot2passe" id="mot2passe"/>
  <br/>
  <label for="conf_mot2passe">Confirmez votre mot de passe :</label>
  <input type="password" name="conf_mot2passe" id="conf_mot2passe"/>
  <div class="error"><?php if(isset($errorpassword)){echo $errorpassword ;} ?></div>
  <br/>
  <label for="civilite">Civilité :</label>
  <select name="civilite" id="civilite">
    <option value="vide" selected></option>
    <option value="madame">Madame</option>
    <option value="mademoiselle">Mademooiselle</option>
    <option value="monsieur">Monsieur</option>
  </select>
  <br/>
  <label for="nom">Nom :</label>
  <input type="text" name="nom" id="nom"/>
  <div class="error"><?php if(isset($errornom)){echo $errornom ;} ?></div>
  <br/>
  <label for="prenom">Prenom :</label>
  <input type="text" name="prenom" id="prenom"/>
  <div class="error"><?php if(isset($errorprenom)){echo $errorprenom ;} ?></div>
  <br/>
  <label for="email">Email :</label>
  <input type="text" name="email" id="email"/>
  <div class="error"><?php if(isset($erroremail)){echo $erroremail ;} ?></div>
  <br/>
  <input  type="submit" value="Enregistrez vous" name="bouton" />
  <!--<input  type="Reset" value="Remise à zéro" />-->
</form>
</fieldset>
<div class="clear"></div>
</div><!-- fermeture conteneur -->
<div id="piedpage"></div>
</body>
</html>
 


Je vous remerci d'avance

Au plaisir de vous lire.

PS : évitez de m'envoyer des poèmes c'est sympatique mais ça m'aide pas big_smile:D

Hors ligne

#2 27-09-2011 14:49:31

touiks
Membre
Inscription : 27-09-2011
Messages : 7

Re : re re re ... recherche pour que mail() marche en teste sur wamp

Essaye de réactiver ton code commenté :

/*$entete = "MIME-Version:1.0\r\n";
  $entete = "Content-type:text/html;charset=UTF-8\r\n";
  $entete = 'from:gbalayer.free.fr::'."\r\n".
  'Reply-To:gbalayer@free.fr'."\r\n".
  'X-mailer:PHP/'.phpversion();*/

Si ça ne fonctionne pas essaye de t'envoyer le mail dans ta boite. Si ça ne fonctionne toujours pas vérifie que l'extension mail php_smtp est active dans ton php.ini (décommenter la ligne si ce n'est pas fait)

Hors ligne

Pied de page des forums