Foren
Neue Beiträge
Foren durchsuchen
Was ist neu?
Neue Beiträge
Profilnachrichten
Online
Anmelden
Registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Neue Beiträge
Foren durchsuchen
Menü
Anmelden
Registrieren
App installieren
Installieren
Programmierung
HTML
csv-neue Zeile
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Auf Thema antworten
Beitrag
[QUOTE="Sempervivum, post: 13782, member: 3917"] Ich habe mal die Prüfung der weiteren Parameter hinzu gefügt und damit funktioniert das Speichern. Das HTML am Schluss ist überflüssig und ich habe es gelöscht. [CODE]<?php $filename = "thread1098-quiz-saveit.csv"; if ( isset($_POST['email']) and $_POST['email'] <> "" and isset($_POST['email']) and $_POST['email'] <> "" and isset($_POST['wrong-answers']) and $_POST['wrong-answers'] <> "" and isset($_POST['right-answers']) and $_POST['right-answers'] <> "" ) { $file = fopen($filename, "a"); // schreiben des Inhaltes von email fwrite($file, $_POST['email'] . "|" . $_POST['name'] . "|" . $_POST['wrong-answers'] . "|" . $_POST['right-answers'] . PHP_EOL); // Datei schließen fclose($file); echo "Danke - Ihre Daten wurden gespeichert"; } [/CODE] Den Dateinamen kannst Du natürlich wieder ändern. In der Funktion für das Quizende fehlte der Aufruf der Funktion sentIt: [CODE] // function for when all questions being answered function handleEndGame() { let remark = null let remarkColor = null // condition check for player remark and remark color if (playerScore <= 3) { remark = "Bad Grades, Keep Practicing." remarkColor = "red" } else if (playerScore >= 4 && playerScore < 7) { remark = "Average Grades, You can do better." remarkColor = "orange" } else if (playerScore >= 7) { remark = "Excellent, Keep the good work going." remarkColor = "green" } const playerGrade = (playerScore / 10) * 100 //data to display to score board document.getElementById('remarks').innerHTML = remark document.getElementById('remarks').style.color = remarkColor document.getElementById('grade-percentage').innerHTML = playerGrade document.getElementById('wrong-answers').innerHTML = wrongAttempt document.getElementById('right-answers').innerHTML = playerScore document.getElementById('score-modal').style.display = "flex" // !!! Hier ist der richtige Ort, um das Ergebnis des Spiels // zum Server zu schicken. // Die DOM-Elemente der Eingabefelder bereit stellen: const inputEmail = document.querySelector('input[name="email"]'), inputName = document.querySelector('input[name="name"]'); // Das Senden kapseln wir in einer Funktion: function sendIt() { // Neues FormData-Objekt erzeugen: const params = new FormData(); // ... und die Werte aus den Eingabefeldern dort eintragen: params.append('email', inputEmail.value); params.append('name', inputName.value); // ... und das Ergebnis des Spiels: params.append('wrong-answers', wrongAttempt); params.append('right-answers', playerScore); // Parameter mit der Methode POST an das Skript saveit.php schicken: fetch('thread1098-quiz-saveit.php', { method: 'post', body: params }) // !!! Die Antwort vom Server brauchen wir zunächst nicht /*.then(res => { // Die Antwort vom Server wird als Text ausgewertet: return res.text(); }).then(res => { // Antwort vom Server in der Console ausgeben: console.log(res); // ... und in HTML-Element eintragen: document.getElementById('out').innerHTML = res; })*/; } sendIt(); // !!! Dies fehlte } [/CODE] [/QUOTE]
Zitate
Authentifizierung
Antworten
Programmierung
HTML
csv-neue Zeile
Oben
Unten