Bonjour à tous,

Je me casse la tête sur un bug causé par un attribut GET dont je ne comprend pas l'erreur et forcément ne trouve pas de solutions.

En résumé:

un système de tirage au sort est calculé sur base de time()+valeur rand(0,2000) et ce time()+rand(0,2000) est inséré dans une table.

Ensuite, on compare le time() à celui qui est stocké dans la table.

2 scénarios possibles:
time() >= à celui de la table. Alors dans ce cas il fait apparaitre une <div> avec un message "machin"

sinon fait apparaitre une autre <div> avec message "blabla"

Mais en réalité alors que la condition est bien vérifiée il m'affiche à chaque fois le message "blabla"

Le problème vient de la ligne 48 qui envoi header("Location: eid.php?joined");
et le traitement du GET à partir de la ligne 148.


la ligne 150
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 if(!empty($tirage->futurwin)){
est vérifiée via un echo.

Donc si $tirage donne un résultat alors il doit m'afficher la DIV alert-warning.
Or ce n'est pas le cas, il m'affiche la DIV alert-success et je deviens fou.

Si qqu'un peut m'aider sur ce bug ce serait sympa.



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<?php
session_start();
include ("connexion.php");  
$rand = strtoupper(trim($_SESSION['rando']['rando']));
$time = date('Y');
 
//calcul du temps pour le tirage tombola
$stmt = $connexion->query("SELECT * FROM gghf_time_tirage WHERE status = 0 AND UNIX_TIMESTAMP() >= futurwin  LIMIT 1 ");
$tirage = $stmt->fetch(PDO::FETCH_OBJ);
echo $tirage->futurwin.'<br/>';
echo time().'<br/>';
//affiche gagnant tombola
$stmt_winner = $connexion -> query ("SELECT * FROM gghf_rando WHERE rando='$rand' AND annee= '$time' ORDER BY sid DESC LIMIT 1");
$gagnant = $stmt_winner->fetch(PDO::FETCH_OBJ);
 
 
 
 
//inistialisation du formulaire code barre
if(isset($_POST['newid'])){
 
	  $newid = $_POST['newid'];	
	  //Liste en arrière plan des NEWID pour le controle et validité
	  $listbiker = $connexion->query("SELECT * FROM gghf_table WHERE newid='$newid'");
	  $count = $listbiker->rowcount(); 
	  $data = $listbiker->fetch(PDO::FETCH_OBJ);
	  $listbiker->closeCursor(); 
 
	  $listrando=$connexion->query("SELECT * FROM gghf_rando WHERE newid='$newid' AND rando='$rand' AND annee= '$time' ");
	  $listrando->setFetchMode(PDO::FETCH_OBJ);
	  $count2=$listrando->rowcount(); 
	  $listrando->closeCursor(); 
 
 
 
			//Trouve les NEWID qui ne sont pas encore enregistrés dans une rando
			if (empty($newid)) {
				$error[] = "le champ ne peut être vide !";
				}
			else if 
				($count==1 && $count2==0){ //interroge la table pour savoir si les coordonnées bikers sont encore valables
					if ($data->updata ==1) {
						header ("Location: update.php?newid=$newid");
					}
					else { //autrement insère le code barre
						$insert = $connexion->exec("INSERT INTO gghf_rando (annee, rando, id, nom, prenom, rue, code, postal,email, newid, winbiker) VALUES('$time', '$rand', '".addslashes($data->id)."', '".addslashes($data->nom)."', '".addslashes($data->prenom)."', '".addslashes($data->rue)."', '$data->code', '$data->postal', '$data->email', '$data->newid', '$data->winbiker')");
 
					header("Location: eid.php?joined");
					}
			}
 
 
}
 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>S&eacute;lection Randonn&eacute;e</title>
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" type="text/css">
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="bootstrap/js/jquery-1.11.3-jquery.min"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript">
function focus()
  {
  document.getElementById('newid').focus()
  }
</script>
 
<script type="text/javascript">
function attention()
{
	resultat=window.confirm('Attention, le tirage de la tombola ne se fait que le dimanche à 11h30, voulez-vous continuer ?');
	if (resultat==1)
	{
		return true;
	}
	else
	{
		return false;
	}
}
</script>
 
<script type="text/javascript">
function supprimer()
{
	resultat=window.confirm('Etes-vous certain de vouloir supprimer ce biker ?');
	if (resultat==1)
	{
		return true;
	}
	else
	{
		return false;
	}
}
</script>
 
<script type="text/javascript">
window.setTimeout(function() {
    $("#alert").fadeTo(500, 0).slideUp(500, function(){
        $(this).remove(); 
    });
}, 2000);
 
window.setTimeout(function() {
$("#success").fadeTo(500, 0).slideUp(500, function(){
        $(this).remove(); 
    });
}, 1000);
 
</script>
 
 
</head>
<body onLoad="focus()">
<div class="container">
	 <div class="row">
          <div class="col-sm-3">
			<img class="logo" src="images/logogghfvanilla.png" alt="Fond">
    	 </div>
          <div class="col-sm-9">
              <div class="panel panel-primary">
                  <div class="panel-heading">
                  		<h3 class="panel-title">Sélection automatique randonnée : <?php echo $rand ?></h3>
              	  </div>
              <div class="panel-body">
 
                    <div class="form-container"> 
                      <form name="formulaire" method="post" >
 
						   <?php
                        if(isset($error))
                        {
                            foreach($error as $error)
                            {
                            ?>
                            <div class="alert alert-danger" id="alert">
                            <i class="glyphicon glyphicon-warning-sign"></i> &nbsp; <?php echo $error; ?> !
                            </div>
                        <?php }
                        }
 
                        else if(isset($_GET['joined']))
                        {
                        	if(!empty($tirage->futurwin)){
						?>
                            <div class="alert alert-warning alert-dismissable" id="tirage">
                            <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
                                <i class="glyphicon glyphicon-log-in"></i> &nbsp; Bravo ! <?php echo $gagnant->nom.' '.$gagnant->prenom; ?> est tiré au sort à la tombola. Veuillez svp lui donner l'enveloppe correspondante.
                            </div>
                           <?php  $stmt_updatetirage = $connexion->exec("UPDATE gghf_time_tirage SET status = 1 WHERE UNIX_TIMESTAMP() > futurwin  ");  //passe à la tranche horaire suivante
 
								  //$sth->execute();
			     }
			     else { ?>	
                        	<div class="alert alert-success" id="success">
                                <i class="glyphicon glyphicon-log-in"></i> &nbsp; Opération enregistrée ! 
                            </div>
			<?php }
                    }?> 
 
                            <div class="form-group">
                            <input type="texte" name="newid" title="Scanner entre 0 et 5cm du chronocode" placeholder="Code barre de la carte ou recherche par le nom" id="newid" class="form-control" />
                        </form>
                        </div>
                    </div>