Inscription d'un champ dans une db MySql
Bonjour,
Voilà le topo. J'ai un petit script qui récupère le nom de l'utilisateur (champ playerName) ainsi que son score (scoreFinal). Quand on clique sur le bouton, il lance la fonction savePlayer() qui créé la requête Ajax vers le fichier playerSave.php, qui l'exécute.
Je ne comprends pas là où ça bugue, qu'est-ce qui m'échappe ? :)
code HTML :
Code:
1 2 3 4
| <div id='saveResult'>
<input type='text' id='playerName' placeholder='Votre pseudo' pattern='[a-zA-Z0-9]+' maxlength='12'>
<button onclick='savePlayer()'>OK</button>
<div id='saveResultMsg'></div></div> |
script Javascript :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| function savePlayer() {
var playerName = document.getElementById('playerName').value;
var scoreFinal = Number(document.getElementById('scoreFinal').innerHTML);
var data = {playerName: playerName, score: scoreFinal};
$.ajax({
type: 'POST',
url: 'includes/playerSave.php',
data: data,
dataType: 'json',
timeout: 3000,
success: function(data) {
$('#saveResultMsg').html('<div class="alert-success" style="font-size: small;">Merci</div>');
},
error: function() {
$('#saveResultMsg').html('<div class="alert-danger" style="font-size: small;">Erreur</div>');
}
});
} |
playerSave.php :
Code:
1 2 3 4 5 6 7 8 9
| <?php
include('db.class.php');
$bdd = new db();
if($_POST) {
$playerName = $_POST['playerName'];
$scoreFinal = $_POST['scoreFinal'];
$query = $bdd->execute('INSERT INTO OC_top (score, player) VALUES ('.$scoreFinal.', CURDATE(), "'.$playerName.'")');
}
?> |
Pour info :
- Les variables playerName et scoreFinal sont correctement récupérées au niveau de la fonction savePlayer()
- La fonction s'exécute bien, mais affiche le message d'erreur ("Erreur").
- Le chemin vers les 2 fichiers .php appelés sont les bons.
- Le nom de la table OC_top et des champs score et player sont les bons.
- Le fichier db.class renvoie à mes fonctions PDO dont celle-ci, qui fonctionne très bien ailleurs sur ma page.
Code:
1 2 3 4 5 6 7 8 9
| function execute($query) {
if (!$response = $this->conn->exec($query)) {
echo 'PDO::errorInfo():';
echo '<br />';
echo 'error SQL: '.$query;
die();
}
return $response;
} |