une fonction pour supprimer les répétitions dans un formulaire

une fonction pour supprimer les répétitions dans un formulaire - PHP - Programmation

Marsh Posté le 09-11-2004 à 13:52:09    

Voila,  
g une fonction qui me semble interessante pour contrôler un formulaire
(et éviter les répétions) :
 
 

Code :
  1. // -------------------------------------------------------------------------------
  2. // fonction pour interdire la répétition
  3. //Supprime toutes les répétitions de caractère ou suite de caractère.
  4. //Par exemple "AAAAAAAAAAAAAAAAAAAAAAAAA" ou "azert azert azert azert".
  5. // -------------------------------------------------------------------------------
  6. function noRepeat($txt,$size){
  7. // $txt : chaine de caractère ; $size : nombre maximale de répétition
  8.     $search="'(.+?)\\\\1{".$size.",}'";
  9. // Expression régulière : chaine de caractère répété plus de $size fois
  10.     $replace=str_repeat("\\\\1", $size);
  11. // Création d'une chaine de caractère répété $size fois
  12. // \\\\1 : Expression régulière : revoie la chaine de caractère qui est répété
  13. // str_repeat permet de multiplié $size fois la chaine de caractère
  14.     while(preg_match($search,$txt)){     
  15. // boucle de recherche : tant qu'il y a une répétition
  16.         $txt=preg_replace($search,$replace, $txt);
  17. // On remplace $search par $replace dans la chaine
  18.     }
  19.     return $txt;
  20. // retourne la chaine de caractère vérifié
  21. }


 
j'ai également défini l'alerte :

Code :
  1. $alerte_repetion = htmlentities('- Votre doigt s\'est probablement endormi sur une touche du clavier...Réveillez le ! Et remplissez correctement ce champ') . "<br />";


 
ET LA commence mes problemes, g une erreur je sais pas où lorsque j'appelle la fonction :

Code :
  1. else{
  2.      if (!noRepeat($nom))  || (!noRepeat($prenom)) || (noRepeat($service)) || (noRepeat($email))
  3.      {
  4.       print $alerte_repetition;
  5.      }
  6.      else{
  7.      $destinataire="francois@totemis.fr";
  8.      $from="$email";
  9.      $reponse="$message";
  10.      $sujet="Demande un nouveau mot de passe";
  11.      $message="$email";
  12.       mail($destinataire,$sujet,$message, "From:$from\r\nReply-to:$from" );
  13.       echo 'Votre demande <b>a bien été enregistrée</b>. <br />Votre nouveau mot de passe vous sera transmis <b>très prochainement par courrier</b>.';
  14.      }
  15.     }


 
mon problème vient surtout de la : OU est mon erreur svp ?

Code :
  1. if (!noRepeat($nom))  || (!noRepeat($prenom)) || (noRepeat($service)) || (noRepeat($email))
  2.      {
  3.       print $alerte_repetition;
  4.      }


 
 
suis débutant, mais ca commence a me passionner grave php
enfin, quand ca marche....  :pt1cable:  
Merci d'avance,


---------------
"Nous sommes tous dans le caniveau, mais certains d'entre nous regardent les étoiles" Oscar Wild
Reply

Marsh Posté le 09-11-2004 à 13:52:09   

Reply

Marsh Posté le 10-11-2004 à 00:12:05    

Code :
  1. if (!noRepeat($nom) || !noRepeat($prenom) || noRepeat($service) || noRepeat($email))


Message édité par sielfried le 10-11-2004 à 00:12:24

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 10-11-2004 à 12:02:24    

Citation :

function noRepeat($txt,$size){


 
Tu dois passer 2 paramètres à ta fonctions. En l'occurence tu n'en passe qu'un seul là ..

Reply

Marsh Posté le 10-11-2004 à 12:13:06    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed