Метод POST с ajax внутри проблемы PHP с javascipt - PullRequest
0 голосов
/ 02 мая 2019

Итак, у меня есть этот код javascipt, который вычисляет 8 вопросов викторины из html-формы и возвращает итоговую оценку. Моя цель - представить пользователю оценку, которую он получил, но также сохранить оценку с помощью ajax в php, чтобы я мог сохранить ее в своей базе данных. Прямо сейчас моя функция успеха ajax обнаруживается, когда я нажимаю на submit, поэтому я предполагаю, что метод post работает, но мой php-код не обновляет базу данных ..

В настоящее время я так и поступаю.

<script>
document.getElementById("form1").onsubmit=function() {
     q1 = parseInt(document.querySelector('input[name = "q1"]:checked').value);
     q2 = parseInt(document.querySelector('input[name = "q2"]:checked').value);
     q3 = parseInt(document.querySelector('input[name = "q3"]:checked').value);
     q4 = parseInt(document.querySelector('input[name = "q4"]:checked').value);
     q5 = parseInt(document.querySelector('input[name = "q5"]:checked').value);
     q6 = parseInt(document.querySelector('input[name = "q6"]:checked').value);
     q7 = parseInt(document.querySelector('input[name = "q7"]:checked').value);
     q8 = parseInt(document.querySelector('input[name = "q8"]:checked').value);



       result = q1 + q2 + q3 + q4 + q5 + q6 + q7 + q8;

    document.getElementById("grade").innerHTML = result;
  return false; // required to not refresh the page; just leave this here
  } //this ends the submit function

        $.ajax({
          url: 'quiz1.php',
          type: 'POST',
          data : {name: 'result', value: result},
          success: function(data) {
              alert('yay');
            }
    });





</script>

И PHP-код выглядит так:

<?php
session_start();

include("phpbook-vars.inc");
$database="yr1005";
$connect=mysqli_connect($hostname,$user,$password);
mysqli_select_db($connect, $database);
$username = $_SESSION['username'];


$score = isset($_POST['result']);
$query = "INSERT INTO quiz1 (username, quiz1)
VALUES ('anything', '$score)";

if(!mysqli_query($connect, $query)) {
  echo "<h2>Error - couldn't save quiz grade</h2>";
  header ("refresh:3; url=hciQ.html");
} else {
  echo "<h2>Thanks your grade was recorded</h2>";
  header ("refresh:3; url=hciQ.html");
}

 ?>
...