Page 1 sur 1

afficher un texte si code bon format

MessagePosté: Lun 23 Oct 2017 09:58
par serge
Bonjour,
J'ai besoin d 'aide pour me faire un code, soit en php, soit en ajax / javascript

l'idée :
une association bénéficie d'un code promo pour des hôtels lors de son AG

on ne doit l'afficher qu'aux personnes indiquant dans un champ leur licence qui doit être au format : A-03-039948
on ne la vérifiera qu'àprès coup, mais sans le format il ne faut pas que cela affiche le code promo

on me donne une piste en php :
Code: Tout sélectionner
$pattern = '/^[A-Z]-\d{2}-\d{6}$/';
$search= 'A-12-345678';
 
preg_match($pattern,$search,$matches);
if(!empty($matches)) {
    $code = 'CODE PROMO';
} else {
    $code = 'PAS DE CODE POUR TOI';
}


mais cela ne me parle pas.
Quelqu'un pourrait m'aider ?
(le code ne sera pas stocké, juste vérifié)

Le site est en joomla, mais je peux intégrer dans un article ce que je veux.

Re: afficher un texte si code bon format

MessagePosté: Lun 23 Oct 2017 15:23
par Nicolaseo
Je t'ai commenté le code pour mieux le comprendre et j'ai corrigé la regex ;)

Code: Tout sélectionner
<?php

   //le code promo
   $code = 'A-12-345678';
   echo '<h1>Vérification du format de code</h1>';
   //la regex
   $pattern = '/^[A-Z]{1}-\d{2}-\d{6}$/';
   //le match
   preg_match($pattern,$code,$matches);
   //si le match est réussi
   if(!empty($matches)) {
      echo 'Le code '.$code.' est bon';
   //sinon
   } else {
      echo 'Le code '.$code.' n\'est pas bon';
   }

?>


Met le dans une page .php sur ton ftp et execute la. Dit moi si tu comprend pas quelque chose ;)

Re: afficher un texte si code bon format

MessagePosté: Lun 23 Oct 2017 17:03
par serge
j'ai fait et je comprends
ce que je voudrais c'est le code pour que quelqu'un entre dans un input son code et qu'il soit vérifié

Re: afficher un texte si code bon format

MessagePosté: Lun 23 Oct 2017 17:19
par serge
je viens de faire ceci :
Code: Tout sélectionner
<form action="code.php" method="post">
 <p>code : <input type="text" name="code" /></p>
 <p><input type="submit" value="OK"></p>
</form>
<?php

   //le code promo
   $code = $_POST['code'];
   echo '<h1>Vérification du format de code</h1>';
   //la regex
   $pattern = '/^[A-Z]{1}-\d{2}-\d{6}$/';
   //le match
   preg_match($pattern,$code,$matches);
   //si le match est réussi
   if(!empty($matches)) {
      echo 'Le code '.$code.' est bon';
   //sinon
   } else {
      echo 'Le code '.$code.' n\'est pas bon';
   }

?>


et cela fonctionne
bon, il faut que je peaufine pour l'encodage utf8 et l'affichage
mais en tout cas c'est ce que je voulais.
merci Nico

Re: afficher un texte si code bon format

MessagePosté: Lun 23 Oct 2017 18:05
par Nicolaseo
tu as été plus vite que moi mais c'est parfait que tu es réussi a faire exactement ce que je voulais t'envoyer ;)

Pour l'encodage tu met cette ligne sous "<?php" :
Code: Tout sélectionner
header( 'content-type: text/html; charset=utf-8' );