[resolu]Controle email dans formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [resolu]Controle email dans formulaire

Re: Controle email dans formulaire

par gesualda » 06 mars 2012, 15:39

Salut à tous,

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

Bonne après midi
Gesualda

Re: Controle email dans formulaire

par dix2 » 06 mars 2012, 12:49

salut,

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

@+
dix2

Re: Controle email dans formulaire

par moogli » 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

@+

[resolu]Controle email dans formulaire

par gesualda » 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