IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

bug sur un attribut GET [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 354
    Par défaut bug sur un attribut GET
    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>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    sinon fait apparaitre une autre <div> avec message "blabla"
    Où est cette affichage dans le code que tu nous montres ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 354
    Par défaut
    ici

    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
                            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
     
    								 
    			     }
    			     else { ?>	
                            	<div class="alert alert-success" id="success">
                                    <i class="glyphicon glyphicon-log-in"></i> &nbsp; Opération enregistrée ! 
                                </div>
    			<?php }
                        }?>

  4. #4
    Membre éclairé Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 354
    Par défaut
    Ah je viens de trouver une piste.

    Dès que j'élimine ?joined de l'url çà fonctionne pour le prochain enregistrement.

    Oui mais chaque nouvel enregistrement génère une url de type .com?joined

  5. #5
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Pourquoi tu ne mets pas une valeur à joined ?

    header("Location: eid.php?joined=1");

  6. #6
    Membre éclairé Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 354
    Par défaut
    Merci pour ta réponse.

    qu'est-ce que çà change au traitement si je rajoute joined=1 ?

    Je vais avoir ceci:
    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
    else if(isset($_GET['joined=1']))
                            {
                            	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
     
    							}
    							else { ?>	
                            	<div class="alert alert-success" id="success">
                                    <i class="glyphicon glyphicon-log-in"></i> &nbsp; Opération enregistrée ! 
                                </div>
     
    						<?php 
    							}
    Mais le traitement de GET reste le même non ?
    Je ne vois pas trop ce qu'il faut faire avec ta suggestion.

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Et donc tu obtiens le if "Bravo" ou le else "Opération enregistrée" ?

    C'est simple quand tu nous décris un problème d'écrire réellement ce qui se passe plutôt que de mettre "blablabla".
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre éclairé Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 354
    Par défaut
    Désolé Sabotage pour cette imprécision dans mon commentaire de base . Je vais m’affliger 10 coups de fouet pour cette erreur.

    Oui c'est bien cela en théorie car cela ne fonctionne pas en pratique.

  9. #9
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Citation Envoyé par legrandse Voir le message
    Merci pour ta réponse.

    qu'est-ce que çà change au traitement si je rajoute joined=1 ?

    Je vais avoir ceci:
    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
    else if(isset($_GET['joined=1']))
                            {
                            	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
     
    							}
    							else { ?>	
                            	<div class="alert alert-success" id="success">
                                    <i class="glyphicon glyphicon-log-in"></i> &nbsp; Opération enregistrée ! 
                                </div>
     
    						<?php 
    							}
    Mais le traitement de GET reste le même non ?
    Je ne vois pas trop ce qu'il faut faire avec ta suggestion.
    Je disais simplement de passer une valeur au paramètre joined pour qu'il ait.... une valeur. Par contre il faut tester if(isset($_GET['joined'])) et non pas if(isset($_GET['joined=1'])) qui n'a aucune signification.

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Oui c'est bien cela en théorie car cela ne fonctionne pas en pratique.
    D'accord mais donc tu obtiens lequel des deux résultats ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre éclairé Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 354
    Par défaut
    Non désolé je n'ai pas d'amélioration avec ta suggestion.

    Je vais essayer d'être plus clair dans mes explications.

    Prenons l'exemple avec 0 enregistrement.

    l'url dans ce cas est monsite.com

    Je procède au premier enregistrement et le hasard fait que c'est le tout premier qui gagne.
    Dans ce cas la bonne DIV est affichée => Bravo ! ...

    Ensuite l'url passe à monsite.com?joined (vu qu'il y a eu un premier enregistrement)
    Et lors du second enregistrement si le hasard tombe sur lui et bien ce n'est pas la bonne DIV qui est affichée => Opération enregistrée

    Donc en résumé dès qu'il y a ?joined dans l'url çà ne fonctionne plus. Le hic c'est que je ne comprend pas du tout pourquoi.

  12. #12
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    En regardant ton code je ne vois rien de spécial.

    echo $tirage->futurwin.'<br/>'; te donne quoi quand ça ne fonctionne pas ?

  13. #13
    Membre éclairé Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 354
    Par défaut
    Pour répondre à ta question, ceci echo $tirage->futurwin.'<br/>' donne 1487346150 et time() me donne 1487346170

    Mais j'ai pu contourner le problème (avec un sursaut de lucidité) en faisant ceci (en rouge):
    Je n'ai pas compris l'erreur ?joined mais bon il faut bien que j'avance un peu
    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
    172
    173
    174
    175
    176
    177
    178
    179
    <?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')");
     
    					if(!empty($tirage->futurwin)){				
    							header("Location: eid.php");
    						}
    						else {
    							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']))
                            {
                            	
    						?>
                            <div class="alert alert-success" id="success">
                                    <i class="glyphicon glyphicon-log-in"></i> &nbsp; Opération enregistrée ! 
                                </div>
                              
    						<?php }
    							
    						else { ?>	
                            	
    							<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
    						
    							}
                         		 
    						?> 
     
                                <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>

    Merci pour toutes les suggestions que tu m'as proposées et le temps passé pour tenter de solutionner le problème.

  14. #14
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Si on reprend ton code.

    if(isset($_GET['joined'])) => joined existe
    if(!empty($tirage->futurwin)){ => futurwin n'est pas vide

    Tu voudrais que ça affiche quoi ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. IE bug sur mise à jour attribut onclick en js
    Par andong dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/08/2007, 13h58
  2. question sur les attributs javascript
    Par PAYASS59 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/04/2005, 13h34
  3. Bug sur glColor3i !
    Par ZiZouJH dans le forum OpenGL
    Réponses: 23
    Dernier message: 04/06/2004, 10h21
  4. Bug sur la prorpiété required d'un TField avec ADO ???
    Par denrette dans le forum Bases de données
    Réponses: 6
    Dernier message: 04/11/2003, 11h04
  5. Page de rapport de bug sur le site de Sun
    Par piff dans le forum Général Java
    Réponses: 1
    Dernier message: 03/03/2003, 18h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo