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 :

Récupération du résultat de la lecture du code Qr dans la même page pour transmission à la BD


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2018
    Messages : 50
    Par défaut Récupération du résultat de la lecture du code Qr dans la même page pour transmission à la BD
    Bonjour à tous,

    J'essaye désespéramment depuis plusieurs jours maintenant de trouver par moi-même un moyen de transmettre à la BD et en même temps que le time stamp la valeur lue d'un code QR dans la même page.

    À date, je suis en mesure à partir de la même page de :
    • Lire le code QR
    • Afficher le résultat de la lecture dans un champ de texte
    • Cliquer sur le bouton Transmettre qui au moment de la transmission ajoute la date, l'heure et quelques autre valeurs textes codées en dure


    Par contre peu importe ce que je fais, le résultat de la lecture du code QR ne s’envoie pas :-(
    pas d'erreur affichée mais le champ reste vide en BD.

    Si quelqu'un à une piste pour moi !, voici le code du formulaire

    J'imagine que c'est un problème de récupération de la variable dans le même formulaire avant la soumission mais je ne trouve pas

    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
     
    <?php
     
    //Code
     
    require_once 'admin/connect.php';
    if(isset($_POST['search'])){
    //$effectif = le code envoyé par QR
    $effectif = $_POST['result'];
    //Zone horaire dans laquelle se trouve l'OPS
    date_default_timezone_set("America/New_York");
    $time = date("h:i A",strtotime("+0 HOURS"));
    $date = date("M-d-Y");
    	//Sélection de toutes les données DE la table effectif QUAND effectif_no = le code envoyé par QR
    $q_effectif = $conn->query("SELECT effectif_id, effectif_no, lastname FROM effectif WHERE effectif_no = '$effectif") or die(mysqli_error());							
    $effectif = $_POST['result'];
    	if($f_effectif['effectif_no']==$effectif){
     
    				echo"<h1>Données enregitrées</h1>";
    						echo "<h3 class = 'text-muted'>".$student_name." <label class = 'text-info'>at  ".date("h:i A", strtotime($time))." ".$date."</label></h3>";
    							$conn->query("INSERT INTO assign VALUES('','$effectif','valide','Enregistrer','$time','$date','$id')") or die(mysqli_error());
    		}
     
    		}else{
    						echo"<h2 style='color:red;'>
    							<span class = 'glyphicon glyphicon-warning-sign'></span></h2>
    								<div style='color:red;'><h3>Invalid Barcode ID !</h3></div>";
    	}
     
     
     
    ?>
    						<br /></center>
          					<input type = "submit" name="search" value="Soumettre" class = "btn btn-primary btn-block">
    						</div>
    				</form>
    Merci de votre aide

  2. #2
    Membre chevronné Avatar de ma5t3r
    Homme Profil pro
    Développeur freelance
    Inscrit en
    Mai 2015
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 320
    Par défaut
    Salut,
    le formulaire est incomplet.
    On voit la balise fermante du form </form>
    mais on ne voit pas le début du form.
    Aucun input text pour la valeur du QR Code

  3. #3
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2018
    Messages : 50
    Par défaut
    Je vais ajouter le code complet, je dois l'adapter un peu avant. C'est une page très très artisanale qui est un patchage de code trouvés ici et là

    Pour le moment je suis en phase essais erreurs (surtout erreurs), le css est en plein milieu de la page... enfin je vous laisserai apprécier :-)

  4. #4
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2018
    Messages : 50
    Par défaut
    Voilà la bête !

    Je sais le code est dégueulasse mais ça marche a part la récupération du code QR lu par la webcam

    Encore merci

    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
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
     
    <!DOCTYPE html>
     
    <html lang = "eng">
     
    	<head>
    <head>
      <meta name="language" content="English" />
      <meta name="Revisit-After" content="1 Days"/>
      <meta name="robots" content="index, follow"/>
      <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    		<meta charset = "utf-8" />
            	<meta name = "viewport" content = "width=device-width, initial-scale=1" />
    		<link rel = "stylesheet" type = "text/css" href = "css/bootstrap.css"/>
     
    <script type="text/javascript" src="llqrcode.js"></script>
    <script type="text/javascript" src="../apis.google.com/js/plusone.js"></script>
    <script type="text/javascript" src="webqr.js"></script>
     
    	</script>
     
    	</head>
     
    	<body class = "alert-info">
    		<nav class = "navbar navbar-inverse navbar-fixed-top">
    			<div class = "container-fluid">
    				<div class = "navbar-header">
    					<p class = "navbar-text pull-right">Gestion du temps</p>
    				</div>
     
    				<div style="margin-top:-7px;float:right;"><h3>
     
    					<a href = "admin/index.php" target="_blank">S'identifier / Log in</a>
     
    				</h3></div>
     
    			</div>
     
    		</nav><br><br><br>
     
    		<div class = "container-fluid" style="margin-top:6%;">
     
    			<div class = "col-lg-3" ></div>
    			<div class = "col-lg-6 well">
    			<center>
     
    				<h2></h2>
    			</center>
    			<br />
    				<div id = "result"></div>
    				<form action="index.php" method="POST">
    					<div class = "form-group">
    						<center>	
    							<label>Scanner le code QR de l'effectif</label>
    								<h1>
    									<span class = "glyphicon glyphicon-barcode">
    									</span>
    								</h1>
    						</center>
    <style type="text/css">
    body{
        width:100%;
        text-align:center;
    }
    img{
        border:0;
    }
    #main{
        margin: 15px auto;
        background:none;
        overflow: auto;
    	width: 100%;
    }
    #header{
        background:white;
        margin-bottom:15px;
    }
    #mainbody{
        background: white;
        width:100%;
    	display:none;
    }
    #footer{
        background:white;
    }
    #v{
        width:320px;
        height:240px;
    }
    #qr-canvas{
        display:none;
    }
    #qrfile{
        width:320px;
        height:240px;
    }
    #mp1{
        text-align:center;
        font-size:35px;
    }
    #imghelp{
        position:relative;
        left:0px;
        top:-160px;
        z-index:100;
        font:18px arial,sans-serif;
        background:#f0f0f0;
    	margin-left:35px;
    	margin-right:35px;
    	padding-top:10px;
    	padding-bottom:10px;
    	border-radius:20px;
    }
    .selector{
        margin:0;
        padding:0;
        cursor:pointer;
        margin-bottom:-5px;
    }
    #outdiv
    {
        width:320px;
        height:240px;
    	border: solid;
    	border-width: 1px 1px 1px 1px;
    }
    #result{
        border: solid;
    	border-width: 1px 1px 1px 1px;
    	padding:10px;
    	width:100%;
    }
     
    ul{
        margin-bottom:0;
        margin-right:40px;
    }
    li{
        display:inline;
        padding-right: 0.5em;
        padding-left: 0.5em;
        font-weight: bold;
        border-right: 1px solid #333333;
    }
    li a{
        text-decoration: none;
        color: black;
    }
     
    #footer a{
    	color: black;
    }
    .tsel{
        padding:0;
    }
     
    </style>
     
    <script type="text/javascript" src="llqrcode.js"></script>
    <script type="text/javascript" src="../apis.google.com/js/plusone.js"></script>
    <script type="text/javascript" src="webqr.js"></script>
     
     
    <body>
    <div id="main">
    <div id="header">
    <div style="position:relative;top:+20px;left:0px;"><g:plusone size="medium"></g:plusone></div>
    <p id="mp1">
     
    </p>
    </div>
    <div id="mainbody">
    <table class="tsel" border="0" width="100%">
    <tr>
    <td valign="top" align="center" width="50%">
    <table class="tsel" border="0">
    <tr>
    <td><img class="selector" id="webcamimg" src="vid.png" onclick="setwebcam()" align="left" /></td>
    <td><img class="selector" id="qrimg" src="cam.png" onclick="setimg()" align="right"/></td></tr>
    <tr><td colspan="2" align="center">
    <div id="outdiv">
    </div></td></tr>
    </table>
     
    <canvas id="qr-canvas" width="400" height="300"></canvas>
    <script type="text/javascript">load();</script>
    </body>
     
     
    </html>
    <br /><center>
    <?php
     
    //Code
     
    require_once 'admin/connect.php';
    if(isset($_POST['search'])){
    //$effectif = le code envoyé par QR
    $effectif = $_POST['result'];
    //Zone horaire dans laquelle se trouve effectif
    date_default_timezone_set("America/New_York");
    $time = date("h:i A",strtotime("+0 HOURS"));
    $date = date("M-d-Y");
    	//Sélection de toutes les données DE la table effectif QUAND effectif_no = le code envoyé par QR
    $q_effectif = $conn->query("SELECT effectif_id, effectif_no, lastname FROM effectif WHERE effectif_no = '$effectif'") or die(mysqli_error());							
    $effectif = $_POST['result'];
    	if($f_effectif['effectif_no']==$effectif){
     
    				echo"<h1>Données enregistrées</h1>";
    						echo "<h3 class = 'text-muted'>".$effectif_name." <label class = 'text-info'>at  ".date("h:i A", strtotime($time))." ".$date."</label></h3>";
    							$conn->query("INSERT INTO temps VALUES('','$_GET[result]','Nom','Enregistrer','$time','$date','$id')") or die(mysqli_error());
    		}
     
    		}else{
    						echo"<h2 style='color:red;'>
    							<span class = 'glyphicon glyphicon-warning-sign'></span></h2>
    								<div style='color:red;'><h3>Invalid Barcode ID !</h3></div>";
    	}
     
     
     
    ?>
    						<br /></center>
          					<input type = "submit" name="search" value="Soumettre" class = "btn btn-primary btn-block">
    						<span class = "glyphicon glyphicon-login"></span>
    					</div>
    				</form>
     
     
     
    			</div>
     
    		</div>
     
    		</body>
     
    	<script src = "js/jquery.js"></script>
     
    	<script src = "js/bootstrap.js"></script>
     
     
     
    </html>

  5. #5
    Membre chevronné Avatar de ma5t3r
    Homme Profil pro
    Développeur freelance
    Inscrit en
    Mai 2015
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 320
    Par défaut
    Salut,
    effectivement, le code est dégueulasse !
    En plus d'être dégueu, il est non conforme. Enfin, bref, ne je vais pas m'étendre sur le sujet.

    Il manque un input text pour récupérer l'information du QR Code.

    Tu dois le placer dans ton formulaire, entre la balise ouvrante <form ...> et </form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="text" id="result" name="result">

  6. #6
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2018
    Messages : 50
    Par défaut
    Merci, j'avais déjà essayé ça mais malheureusement ça fonctionne pas.

    Tu as raison, le code est pourri, je l'ai récupéré sur un site quelque part et dès que je fais un peut de ménage ça plante alors pour le moment je le gardais tel quel tant que ca fait ce que je veux. Je vais le nettoyer après.

    J'ai déjà un champ qui récupère le valeur de lecture du QR il s'alimente par la lecture du code par la webcam pour une raison que j'ignore, rien n'arrive à le récupérer.
    J'ai ajouté le champ comme indiqué juste au dessus du bouton soumettre mais il ne s'alimente pas après lecture.

    Je pense que c'est une question d'action sur le form.
    Je devrais peut-être utiliser deux pages

    Nom : Qr1.png
Affichages : 2245
Taille : 125,0 Ko

Discussions similaires

  1. Code Behind dans la même page
    Par DeveloppeurWeb dans le forum Visual Studio
    Réponses: 3
    Dernier message: 21/10/2010, 18h51
  2. Réponses: 1
    Dernier message: 16/02/2009, 13h34
  3. Réponses: 2
    Dernier message: 22/11/2007, 08h26
  4. Afficher le résultat dans la même page
    Par benbax dans le forum Langage
    Réponses: 2
    Dernier message: 15/11/2007, 17h00
  5. [SQL] Avoir le résultat dans la même page
    Par commedab dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/03/2007, 22h44

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