Problème PHP

Fermé
F0ozZy - 29 mars 2011 à 19:34
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 - 29 mars 2011 à 23:04
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
A voir également:

4 réponses

//US//NY// Messages postés 48 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 29 mars 2011 6
29 mars 2011 à 19:52
if ($numero == '010203' or $numero == '0102' or $numero == '0103' or $numero == '0203'){}
0
F0ozZy Messages postés 3 Date d'inscription mardi 29 mars 2011 Statut Membre Dernière intervention 20 avril 2011
29 mars 2011 à 21:10
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 ^^
0
//US//NY// Messages postés 48 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 29 mars 2011 6
29 mars 2011 à 22:52
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é ;)
0
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 101
29 mars 2011 à 23:04
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
0