[Résolu] Soucis de délimiteur

Résolu/Fermé
Olive13013 Messages postés 2 Date d'inscription lundi 25 mars 2013 Statut Membre Dernière intervention 25 mars 2013 - Modifié par Olive13013 le 25/03/2013 à 03:13
Olive13013 Messages postés 2 Date d'inscription lundi 25 mars 2013 Statut Membre Dernière intervention 25 mars 2013 - 25 mars 2013 à 03:14
Bonjour,


J'ai un soucis qui vient apparement des délimiteurs dans mon formulaire PHP de contact...

Voici le code:


<?php 
// Couleur du texte des champs si erreur saisie utilisateur 
$color_font_warn="#FF0000"; 
// Couleur de fond des champs si erreur saisie utilisateur 
$color_form_warn="#FFCC66"; 
// Ne rien modifier ci-dessous si vous n'êtes pas certain de ce que vous faites ! 
if(isset($_POST['submit'])){ 
 $erreur=""; 
 // Nettoyage des entrées 
 while(list($var,$val)=each($_POST)){ 
 if(!is_array($val)){ 
  $$var=strip_tags($val); 
 }else{ 
  while(list($arvar,$arval)=each($val)){ 
    $$var[$arvar]=strip_tags($arval); 
   } 
  } 
 } 
 // Formatage des entrées 
 $f_1=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1))); 
 $f_2=strip_tags(trim($f_2)); 
 $f_3=trim(preg_replace("[^0-9\ +]", "", $f_3)); 
 // Verification des champs 
 if(strlen($f_1)<2){ 
  $erreur.="<li><span class='txterror'>Le champ « Nom » est vide ou incomplet.</span>"; 
  $errf_1=1; 
 } 
 if(strlen($f_2)<2){ 
  $erreur.="<li><span class='txterror'>Le champ « E-mail » est vide ou incomplet.</span>"; 
  $errf_2=1; 
 }else{ 
  if(preg_match('^[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+'. 
  '@'. 
  '[-!#$%&\'*+\/0-9=?A-Z^_'a-z{|}~]+\.'. 
  '[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+$', 
  $f_2)){ 
   $erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>"; 
   $errf_2=1; 
  } 
 } 
 if(strlen($f_4)<2){ 
  $erreur.="<li><span class='txterror'>Le champ « Message » est vide ou incomplet.</span>"; 
  $errf_4=1; 
 } 
 if($erreur==""){ 
  // Création du message 
  $titre="Message de votre site"; 
  $tete="From:Site@xxx.com\n"; 
  $corps.="Nom : ".$f_1."\n"; 
  $corps.="E-mail : ".$f_2."\n"; 
  $corps.="Téléphone : ".$f_3."\n"; 
  $corps.="Message : ".$f_4."\n"; 
  if(mail("contact@xxx.com", $titre, stripslashes($corps), $tete)){ 
   $ok_mail="true"; 
  }else{ 
   $erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>"; 
  } 
 } 
} 
?>



Et voici mon erreur :


Warning: preg_match() [function.preg-match]: Unknown modifier '_' in /homez.705/webrapid/www/index.php on line 36 




On ma parlé de soucis de délimiteur mais même avec la doc PhP je galère terriblement, pouvez-vous m'aider svp ?



Merci bien !

1 réponse

Olive13013 Messages postés 2 Date d'inscription lundi 25 mars 2013 Statut Membre Dernière intervention 25 mars 2013
25 mars 2013 à 03:14
Trouver la solution, si ca peu aider quelqu'un :


if(!preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#',$f_2)){ 
			$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>"; 
			$errf_2=1; 
0