<?php if(isset($_POST['email']) && !empty($_POST['email'])){ $base="ma_base"; $conn=mysql_connect("localhost","root",""); mysql_select_db($base); //un peu de securité $email=mysql_real_escape_string($_POST['email']); $date = date("Y/m/d - H:i:s"); //tu verifies $sql="select email from newsletter where email='".$email."' limit 1"; $q=mysql_query($sql); if(mysql_num_rows($q)>0){ //il y a une ligne donc echo '[javascript:history.back(); << Retour] Il semble que cette email soit déjà présent'; mysql_close(); }else{ //nouveau on insere $sql="insert into newsletter VALUES(NULL,'".$email."','".$date."')"; $req=mysql_query($sql) or die ('Erreur SQL ! '.$sql.' '.mysql_error()); mysql_close(); header('Location: index.php');exit; } }else{ //si acces direct à la page sans passer par le formulaire echo '[javascript:history.back(); << Retour] Poster un email'; } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<?php session_start(); /*on va faire des varibles serveur inaccessibles au client*/ $token=$_SESSION['token']=md5(date('mdYH').$_SERVER['REMOTE_ADDR']); $_SESSION['validticket']=true; if(isset($_POST['email']) && !empty($_POST['email']) && $_POST['email']!='Votre e-mail ici' && $_SERVER['REQUEST_METHOD']==='POST'){ //cette petite protection evitera de te faire recopier ton formulaire //tu peux aussi envisager une image captcha si tu remarques du spam if(isset($_SESSION['token']) && isset($_POST['token']) && $_POST['token']===$_SESSION['token']){ $base="ma_base"; $conn=mysql_connect("localhost","root",""); mysql_select_db($base); //un peu de securité $email=mysql_real_escape_string($_POST['email']); /*bon tu peux inserer la date ainsi mais c'est pas comme ça que l'on fait on insere direct dans un champs datetime avec la fonction now $sql="insert into newsletter VALUES(NULL,'".$email."',now())"; si tu veux changer mais pour l'instant je laisse dans la forme basique */ $date = date("Y/m/d - H:i:s"); //tu verifies $sql="select email from newsletter where email='".$email."' limit 1"; $q=mysql_query($sql); if(mysql_num_rows($q)>0){ //il y a une ligne donc echo '<hr>Il semble que cette email soit déjà présent<hr>'; //echo '<hr>[javascript:history.back(); << Retour] Il semble que cette email soit déjà présent<hr>'; }else{ unset($_SESSION['validticket']); unset($_SESSION['token']); //anti refresh f5 //nouveau on insere $sql="insert into newsletter VALUES(NULL,'".$email."','".$date."')"; $req=mysql_query($sql) or die ('Erreur SQL ! '.$sql.' '.mysql_error()); echo '<hr>Merci '.$email.' vous êtes inscrit à présent<hr>'; //echo '<hr>[javascript:history.back(); << Retour] Merci '.$email.' vous êtes inscrit à présent<hr>'; //header('Location: index.php');exit; //il faut que se fichier existe } }else{ //$token pas bon } }else{ //si acces direct à la page sans passer par le formulaire echo '[javascript:history.back(); << Retour] Poster un email'; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title></title> </head> <script language="javascript"> function focus_in_input(ch){ if(ch.value=='votre e-mail ici'){ ch.value=''; } } function blur_in_input(mp){ if(mp.value==''){ mp.value='votre e-mail ici'; } } function controler_formulaire(obj) { //controle mail var mail=obj.email.value; var pos_at=mail.indexOf('@') if(pos_at==-1) { alert('Veuillez saisir correctement votre e-mail !'); obj.email.value=''; obj.email.focus(); return false; } else { var sous_mail=mail.substring(pos_at,mail.length) var pos_p=sous_mail.indexOf('.') if(pos_p==-1) { alert('Veuillez saisir correctement votre e-mail !'); obj.email.value=''; obj.email.focus(); return false; } } return true; } function showMessage() { alert ("Nous vous remercions pour votre inscription. Vous recevrez dorÚnavant notre newsletter."); return true; } </script> </head> </html> <form id="form2" name="form2" method="post" action="" onSubmit="return controler_formulaire(this)"> " name="token"> <label> </label> <label> </label> </form>
-- phpMyAdmin SQL Dump -- version 3.2.0.1 -- http://www.phpmyadmin.net -- -- Serveur: localhost -- Généré le : Jeu 28 Juillet 2011 à 11:43 -- Version du serveur: 5.1.36 -- Version de PHP: 5.2.11 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Base de données: `ma_base` -- -- -------------------------------------------------------- -- -- Structure de la table `newsletter` -- CREATE TABLE IF NOT EXISTS `newsletter` ( `id` int(11) NOT NULL AUTO_INCREMENT, `email` varchar(40) NOT NULL, `date` varchar(30) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ; -- -- Contenu de la table `newsletter` -- INSERT INTO `newsletter` (`id`, `email`, `date`) VALUES (1, 'toto@free.fr', '2011/07/28 - 10:55:39'), (2, 'titi@free.fr', '2011/07/28 - 10:57:15'), (3, 'tata@free.fr', '2011/07/28 - 10:58:47'), (4, 'tutu@free.fr', '2011/07/28 - 11:23:34'), (5, 'tyty@free.fr', '2011/07/28 - 11:36:37'), (6, 'to@free.fr', '2011/07/28 - 11:42:20');