Formulaire JS -> POST PHP [Résolu/Fermé]

Signaler
Messages postés
137
Date d'inscription
jeudi 25 décembre 2008
Statut
Membre
Dernière intervention
1 mai 2015
-
Messages postés
4761
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
23 octobre 2020
-
Bonjour à tous ! :)

Je suis actuellement sur un projet de site de Calcul Mental.

J'utilise donc HTML/CSS (pour la page et le style) + PHP + MySQL + Javascript (compte à rebours + compteur).

J'ai réussi à créeer mon premier niveau

- Un calcul random se genere

- Réponse validée par bouton dans textbox sans rafraichissement de la page (pour pas perdre le chrono et le score++)

Tout est fait sauf le moment crucial :

Envoyer en requete POST le contenu d'une variable Javascript à une page de traitement en PHP qui sauvegarderait le score dans la base de donnée.

Image : https://i.imgur.com/LBFhnwB.png

Je voudrais qu'au moment ou il reste 0 sec (terminé), le score s'envoie en POST sur ma page php mais impossible, j'ai tout esté, rien ne marche..

Pourriez-vous m'éclairer, merci d'avance à tous ! :)

2 réponses

Messages postés
137
Date d'inscription
jeudi 25 décembre 2008
Statut
Membre
Dernière intervention
1 mai 2015
12
up ! :)
Messages postés
4761
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
23 octobre 2020
1 228
'lut, fait en sorte que cette fonction s'exécute a la fin de ton décompte:
function envoyer_scores(score) {
    var url = "enregistrer_score.php";
    var params = "score=" + score;
    var http = new XMLHttpRequest();
    http.open("POST", url, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.onreadystatechange = function() {
        if(http.readyState == 4 && http.status == 200) {
            alert("Score envoyé!");
        }
    }
    http.send(params);
}

Et du coté PHP, tu enregistres le score contenu dans
$_POST['score']
. Libre a toi de modifier et d'adapter la fonction envoyer_scores, notamment de supprimer le
alert
et de le remplacer par quelque chose d'autre, moins dérangeant...