Roken Acheteur Compulsif ! | Bonjour j'ai un problème actuellement sur un bout de code.
En faites je veux que la fonction php incluse me test l'email et les autres champs ( nom, prénom etc), ça marche très bien pour les champs nom etc mais pas avec la fonction mail.
En fait si ça marche pour l'email ça m'indique bien qu'il faut que l'utilisateur rentre correctement son email mais ca me l'insère quand même dans ma table...
voici le code en question.
Code :
- <?php
- // On commence par récupérer les champs
- if (isset($_POST['email']))
- {
- $_POST['email'] = htmlspecialchars($_POST['email']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
- if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']))
- {
- echo 'L\'adresse ' . $_POST['email'] . ' est <strong>valide</strong> !';
- }
- else
- {
- echo 'L\'adresse ' . $_POST['email'] . ' n\'est pas valide, recommencez !';
- }
- }
- if(isset($_POST['nom'])) $nom=$_POST['nom'];
- else $nom="";
- if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
- else $prenom="";
- if(isset($_POST['email'])) $email=$_POST['email'];
- else $email="";
- // On vérifie si les champs sont vides
- if(empty($nom) OR empty($prenom) OR empty($email) )
- {
- echo '<p><font color="red">Attention, veuillez remplir tous les champs qui sont identiés par un *</font></p>';
- }
- // Aucun champ n'est vide, on peut enregistrer dans la table
- else
- {
- // connexion à la base
- $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
- // sélection de la base
- mysql_select_db('PCB',$db) or die('Erreur de selection '.mysql_error());
- // on regarde si l'url existe déjà
- $sql = "SELECT id FROM contact WHERE email='$email'";
- $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
-
- // on compte le nombre de résultats
- $res = mysql_num_rows($req);
- if($res!=0) // l'url existe déjà, on affiche un message d'erreur
- {
- echo '<p><font color="red">Désolé, mais cette URL existe déjà dans notre base.</font></p>';
- }
- else // L'url n'existe pas, on insère les informations du formulaire dans la table
- // on écrit la requête sql
- {
- $sql = "INSERT INTO contact(id, nom, prenom, email) VALUES('','$nom','$prenom','$email')";
-
- // on insère les informations du formulaire dans la table
- mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
- // on affiche le résultat pour le visiteur
- echo '<p>Vos infos on été ajoutées.</p>';
- }
- mysql_close(); // on ferme la connexion
- }
- ?>
|
|