[resolu]Controle email dans formulaire

Eléphant du PHP | 227 Messages

06 mars 2012, 09:06

Bonjour à tous,

J'ai besoin d'un conseil dans la formulation En fait, dans un formulaire je contrôle la validité d'un mail en faisant appel à une fonction :

Code : Tout sélectionner

function verif($email) { $spr = "/^[[:alnum:]][a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/"; return !preg_match($spr, $email); }
Voici comment je fais appel à la fonction et tout cela fonctionne, pas de soucis :
$erreur_mail_null = "Rien";

Code : Tout sélectionner

if(isset($_POST['email']) && $_POST['email'] != "''){ // Si erreur de saisi $email_control = $_POST['email']; verif($email_control); $erreur_mail = "rouge"; $erreur_mail_null = $erreur_mail; } elseif($_POST['email'] == '') { $erreur_mail_null = $erreur_mail_null; // si pas de saisi }
Dans mon formulaire, je n'oblige pas à entrer une adresse mail, mais par contre je souhaiterai que le control se fasse si une adresse est saisi et surtout que l'erreur ne s'affiche pas après avoir entrée une adresse valide.

J'espère que j'ai réussi à m'expliquer ( pas trop brouillon), j'attends vos conseils. Merci
Modifié en dernier par gesualda le 06 mars 2012, 15:40, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

06 mars 2012, 10:00

salut,

plutôt comme ça :
<?php
if(!empty($_POST['email'])){   // Si  PAS erreur de saisi
if (      verif($_POST['email'])) {
// ok
}
else {
// ko
      $erreur_mail_null = "Email invalide";
}
}
else {
      $erreur_mail_null = "Email vide ou inexitant !";
}
   
avec HTML 5 tu peux utiliser un champ de type email et ajouter l'attibut required afin de faire un bout de validation coté client (c'est plus sexy ;) )

/! \ Cela n'empêche pas de faire la vérification coté serveur, elle doit toujours être faite :)

pour plus d'info => http://www.alsacreations.com/tuto/lire/ ... input.html

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 267 Messages

06 mars 2012, 12:49

salut,

Voici un bon tuto sur le sujet :
http://www.supportduweb.com/scripts_tut ... n-php.html

@+
dix2

Eléphant du PHP | 227 Messages

06 mars 2012, 15:39

Salut à tous,

Merci de vos conseils, je vais m'y mettre.

Bonne après midi
Gesualda