Bonjour,
Dans ma page d'acceuil index.php, j'ai un mini formulaire pour s'inscrire à la newsletter avec un seul champ pour saisir son email.
Si cet email est validé par ajax.php, l'utilisateur est renvoyé vers une page newslettersignup.php pour compléter ses données et choisir ses options.
Au submit, si ajax.php ne valide pas l'email saisi, une petite div lui affiche ses erreurs: champ vide, email erroné ou email déjà enregistré dans la bdd.
Je n'arrive pas à faire afficher les erreurs dans la div #error_email, et au submit, le post() du jQuery me redirige vers ajax.php (qui lui, m'affiche les erreurs).
Je débute en ajax et aimerais bien qu'on me donne un coup de pouce. Merci
index.php:
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <form id="frm_nl" action="ajax.php" method="post"> <input id="email" name="email" type="text" placeholder="Votre adresse e-mail"> <input id="submit" name="submit" type="submit" value="OK"> </form> <div id="error_email"></div>ajax.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $(document).ready(function () { $("#submit").click(function(){ $.post( "ajax.php", {email:$('#email').val()}, function(data){ $('#error_email').val(data); } ); }); });
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <?php if(isset($_POST['submit'])){ $email=$_POST['email']; $_SESSION['email'] = $email; require("config-db-newsletter.php"); mysql_connect($adresse,$nom,$motdepasse); mysql_select_db($database); $sql = "SELECT * FROM email_table WHERE email = '".$email."' "; $query = mysql_query($sql) or die(mysql_error()); $row = mysql_num_rows($query); if(empty($email)){ echo "Veuillez renseigner une adresse mail"; }else if(! filter_var($email,FILTER_VALIDATE_EMAIL)) { echo "E-mail non valide. Veuillez recommencer"; }else if($row>0){ echo "Adresse mail déjà enregistrée"; }else{ header('Location:newslettersignup.php '); } } ?>
Partager