Bonjour,
Voilà je débute actuellement dans le domaine du web, voici mon exercice:
1.Créer une BDD avec ces 2 colonnes
-number (INT)
-result (Varchar 100)
2. Remplir la BDD de ces 10 lignes:
number result
11 win
12
13 win
14
15
16
17 win
18
19
20 win
3.la personne se doit d'entrer son code sur un site si dans la BDD le ticket est gagnant alors "You win" s'afficheras, "You loose" si le numéro n'est pas gagnant et "invalid number" si le chiffre ne fait pas partie de la colonne number, un input qui demanderas l'e-mail de la personne apparaîtras lorsque la condition gagnant apparaîtra.
Vous devez réaliser un HTML en local avec cette fonctionnalité
(PAS BESOIN DE MISE EN PAGE IL FAUT JUSTE QUE CELA FONCTIONNE).
Obligation:
-la page ne doit pas se recharger. (indice: AJAX)
_________________________________________________________________________________________________
Voici mon code jusqu'à présent:
index.php:
ok.php:
alors lorsque l'on entre un chiffre étant dans la colonne number et qu'il y a win dans le colonne result, celui-ci fait bien apparaître You win en vert pareille pour la condition loose, mais je n'arrive pas à faire apparaître invalid number.
ps: question bonus, j'aimerais faire apparaître mon input type hidden lorsque you win s'affiche. une idée ?
Merci du temps consacrer à mon sujet
Voilà je débute actuellement dans le domaine du web, voici mon exercice:
1.Créer une BDD avec ces 2 colonnes
-number (INT)
-result (Varchar 100)
2. Remplir la BDD de ces 10 lignes:
number result
11 win
12
13 win
14
15
16
17 win
18
19
20 win
3.la personne se doit d'entrer son code sur un site si dans la BDD le ticket est gagnant alors "You win" s'afficheras, "You loose" si le numéro n'est pas gagnant et "invalid number" si le chiffre ne fait pas partie de la colonne number, un input qui demanderas l'e-mail de la personne apparaîtras lorsque la condition gagnant apparaîtra.
Vous devez réaliser un HTML en local avec cette fonctionnalité
(PAS BESOIN DE MISE EN PAGE IL FAUT JUSTE QUE CELA FONCTIONNE).
Obligation:
-la page ne doit pas se recharger. (indice: AJAX)
_________________________________________________________________________________________________
Voici mon code jusqu'à présent:
index.php:
<body>
<center>
<h1>Gagnant ?</h1>
<input type="text" class="idToPast" name="id" placeholder="Entrer votre numéro"/> <br>
<input type="submit" name="search" value="Verification" class="ajaxSubmit">
<h1 class="reponse"></h1>
<input type="hidden" class="email" name="email" id="askemailwin"placeholder="Entrer votre email">
</center>
<script>
$(document).ready(function(){
var idToPast = '';
$('.ajaxSubmit').click(function(){
idToPast = $('.idToPast').val();
$.ajax({
method: "POST",
url: "ok.php",
data: { id: idToPast }
})
.done(function( data ) {
//alert( "Data Saved: " + data );
var obj = jQuery.parseJSON( data );
/*console.log(obj);
console.log(obj.response);
console.log(obj.color);*/
$('.reponse').html(obj.response);
$('.reponse').css('background-color', obj.color);
});
});
});
</script>
</body>
</html>
ok.php:
<?php
$connection = mysqli_connect("localhost", "root", "");
$db = mysqli_select_db($connection, 'test');
$array = [];
$array = [
'response' => '',
'color' => ''
];
if(isset($_POST['id']))
{
$id = $_POST['id'];
$query = "SELECT * FROM test_table where number = '$id' ";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_array($query_run))
{
if ($id == $row['number'] && $row['result'] == "win")
{
$array['response'] = 'you win';
$array['color'] = 'green';
echo json_encode($array);
}
elseif ($id != $row['number'])
{
$array['response'] = 'invalid number';
$array['color'] = 'blue';
echo json_encode($array);
}
else
{
$array['response'] = 'you loose';
$array['color'] = 'red';
echo json_encode($array);
}
}
}
?>
alors lorsque l'on entre un chiffre étant dans la colonne number et qu'il y a win dans le colonne result, celui-ci fait bien apparaître You win en vert pareille pour la condition loose, mais je n'arrive pas à faire apparaître invalid number.
ps: question bonus, j'aimerais faire apparaître mon input type hidden lorsque you win s'affiche. une idée ?
Merci du temps consacrer à mon sujet