Bonjour à toutes et tous,
Je souhaiterais intégrer dans mon site un champs de formulaire, permettant aux internautes qui souhaitent recevoir une newsletter:
1/ d'inscrire leur email et que celui-ci soit stocker sur une base mysql.
2/ que la date d'inscription s'enregistre automatiquement dans ma base
3/ que si la personne souhaite se désinscrire, il n'ai qu'à re-noter son email et que la suppression se fasse directement dans la base de donnée !!
merci pour vos conseils
Je souhaiterais intégrer dans mon site un champs de formulaire, permettant aux internautes qui souhaitent recevoir une newsletter:
1/ d'inscrire leur email et que celui-ci soit stocker sur une base mysql.
2/ que la date d'inscription s'enregistre automatiquement dans ma base
3/ que si la personne souhaite se désinscrire, il n'ai qu'à re-noter son email et que la suppression se fasse directement dans la base de donnée !!
<?php
$erreur ="";
$ok ="";
if(!empty($_POST)){
//J'ouvre ma base de donnée
$dbname= 'localhost';
$user = 'root';
$password = '';
$host = 'localhost';
try {
$dbh = new PDO('mysql:host='.$host .';dbname='.$dbname, $user, $password );
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->exec("SET CHARACTER SET utf8");
} catch (PDOException $e) {
echo "<p>Erreur : " . $e->getMessage() . "</p>";
exit();
}
try {
/*
* je récupère le type et le nom du formulaire fictif :
*/
$mail = $dbh->quote($_POST['mail']);
$date_a = $dbh->quote($_POST['date_a']);
/* Insertion d'une ligne dans MySQL*/
$count = $dbh->exec("INSERT INTO localhost(mail, date_a) VALUES ($mail, $date_a,)");
//$count contient le nombre de ligne inséré dans la BDD.
echo '<p>'.$count.' ligne(s) inserée(s)</p>';
//ferme la base de donnée
$dbh = null;
}
catch(PDOException $e)
{
}
//ensuite je test si mes champs sont vide
extract($_POST);
$valid=true;
//condition pour verifier si le champs mail correspond bien à un e-mail
if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i",$mail)){
$valid=false;
$erreurmail ="votre email n'est pas valide";
}
if(empty($mail)){
$valid=false;
$erreurmail="Vous n'avez pas rempli votre adresse E-mail";
}
if($valid==true){
$to = 'email-du-site@email.fr';
$headers = 'From: ' . $name . ' ' . $prenom . ' <' . $mail . '>' . "\n";
$ok="Vous êtes inscrit à la newsletter de Bien manger selon les saisons";
mail($to, $subject, $message, $headers);
}
else{
$erreur ="Vous n'êtes pas inscrit à la newsletter de Bien manger selon les saisons";
}
}
?>
<div class="block2">
<?php
if($erreur!=""){echo $erreur;}
if($ok!=""){echo $ok;}
?>
<h2 class="ribbon"><span>Newsletter</span></h2>
<form method="post" action="">
<p>Pour être informer des produits de saison et recevoir des recettes diététiques, inscris toi à la newsletter !</p>
<div><input type="hidden" name="format" value="1" />
<input type="hidden" name="liste" value="1" />
<div class="radio_container">
<label><input type="radio" name="action" value="inscription" checked="checked" />inscription</label>
<label><input type="radio" name="action" value="desinscription" />désinscription</label>
</div>
<input name="mail" type="text" value="email" id="mail" size="18"/><?php if(isset($erreurmail))echo $erreurmail ?>
<input type="submit" name="Submit" value="Envoyer" />
</div>
</form>
</div>
merci pour vos conseils