Problème PHP

Bonjour à tous,
Depuis pas mal de temps, je m'efforce à créer une petite loterie pour mon petit site famillial et amical, tout en apprenant le php. J'ai réussi à le créer en fouinant sur la toile mais le réultat ne me satisfait pas. C'est une loterie à 20n°, ils doivent choisir 3n° sur les 20 et les gagnants seront ceux, qui auront trouvés 2 ou 3n°... C'est la que je bloque... J'arrive à faire gagner ceux qui trouvent les 3n° et pas ceux qui trouvent 2n°.
Merci d'avance pour vos petits coups de pouce.
Voici un bout de "mon code":

<?php
$contenu = 'lotoami';
setcookie("lotoami", $contenu, time()+86400);
?>

<html>
<head>
</head>
<body>

<?php
$numero = strip_tags(htmlspecialchars(addslashes(trim($_POST['key']))));
$numero = str_replace(' ','',$numero);

if (isset($_COOKIE["lotoami"]))

{

echo '<br><br><center><font size="2" face="verdana">Je suis désolé, tu as déjà tenté ta chance aujourd'hui...</font></center><br />';

}

else

{

if ($numero == '010203') <- Dans mon cas, j'aimerai que '0102' '0103' '0203' et '010203' soit des combinaisons gagnantes
{

echo '<font size="2" face="verdana" color="#B0C15A"><b>Bravo tu as gagné 1 Allopass B !<br>Merci de remplir le formulaire ci-dessous pour recevoir ton lot !</font><br><br><br>
<form action="send_email.php" method="post">

Bonne soirée à tous

4 réponses

  1. salut :)

    essaye de découper tes trois numéros en trois variables :

    $numero[1] = substr(numero, 0, 2); // les 2 premiers caractères de la chaine
    $numero[1] = substr(numero, 2, 2); // les deux suivants 
    $numero[1] = substr(numero, 4, 2); // les deux derniers
    
    
    if($numero[1] == '01' || $numero[2] == '01' ||$numero[3] == '01')
    {
         if($numero[1] == '02' || $numero[2] == '02' ||$numero[3] == '02' || $numero[1] == '03' || $numero[2] == '03' ||$numero[3] == '03' )
         {
              //code gagnant
         }
    }
    
    if($numero[1] == '02' || $numero[2] == '02' ||$numero[3] == '02')
    {
         if($numero[1] == '01' || $numero[2] == '01' ||$numero[3] == '01' || $numero[1] == '03' || $numero[2] == '03' ||$numero[3] == '03' )
         {
              //code gagnant
         }
    }
    
    // pas besoin de 3eme boucle, puisque si il n'y a ni 1, ni 2; c'est de toute façon perdu
    1. tes numéros dans le cookie sont écrit comment ?

      les numéros ont-ils une taille fixe ... j'entend par la un nombre fixe de chiffre genre 2 : exemple : 01 a 99

      Car si oui tu pourrait :

      Couper la chaîne de numéro genre 895860 : en trois parties : '89' '58' '60'

      Ensuite pour la chaîne des numéros gagnants tu fait comme ceci :

      Admettons que les numéros gagnants sont : 89 57 21

      Tu classe les numéros dans un ordre précis ( croissant ou décroissant ) : 21 57 89

      Tu assemble ces numéros dans une chaîne : '215789'

      et ensuite tu fait une recherche des trois chaîne créés a partir des numéros dans le cookie et tu compte le nombre de recherche trouvé !
      (ici tu aurait 3 recherches a faire)

      ici seul '89' est vérifié.

      il est pas gagnant :D enfin selon les règles ...

      Si tu a besoin d'aide pour le code php et les fonctions php a utilisé n'hésite pas a demandé ;)
      1. Merci pour cette réponse rapide //US//NY// ^^
        Hélas, cela ne fonctionne pas... Après un petit essai rapide voici le résultat
        je choisis les 3 bons n° -> gagné
        je choisis les 2 bons n° + 1 autre -> perdu
        Si vous avez d'autres idées je suis preneur.
        Merci d'avance ^^
        1. if ($numero == '010203' or $numero == '0102' or $numero == '0103' or $numero == '0203'){}