Отсутствует значение из отправленной HTML-формы

0

Я написал следующий код, который записывает, правильно ли отправлены ответы пользователей. score_one либо 0, либо 1 для получения первого вопроса правильно, score_two - 0 или 1 для получения второго вопроса вправо и так далее. totalScore - это в основном сумма score_one для score_four

Мне бы хотелось, чтобы значение totalScore возвращалось через PHP на мой адрес электронной почты. В моей текущей форме HTML есть поле электронной почты и поле имени. У меня есть PHP-скрипт, который успешно отправляет эти полевые ответы на мой почтовый ящик. Однако я не могу получить значение totalScore. Код ниже - это то, что я использую, но я не эксперт

<input type="text" id="score" value="" disabled />
<script>

    var score_one = 0;
    var score_two = 0;
    var score_three = 0;
    var score_four = 0;
    var totalScore = 0;

    function fsubmit(){
        var correctFirstAnswer = document.getElementById("price_three");
        var correctSecondAnswer = document.getElementById("price_six");
        var correctThirdAnswer = document.getElementById("price_seven");
        var correctFourthAnswer = document.getElementById("price_eleven");

        if (correctFirstAnswer.checked === true){
            score_one = 1;
        }

        if (correctSecondAnswer.checked === true){
            score_two = 1;
        }

        if (correctThirdAnswer.checked === true){
            score_three = 1;
        }

        if (correctFourthAnswer.checked === true){
            score_four = 1;
        }

        totalScore = score_one + score_two + score_three +score_four;
    }


    document.getElementById("score").value = totalScore;
</script>

Мой фрагмент кода PHP:

$email = $_POST['email'];
$name = $_POST['name'];
$score = $_POST['score'];

$body = <<<EOD
Name: $name <br>
Email: $email <br>
Score: $score <br>

Типичный ответ: Имя: Mr Bloggs Электронная почта: [email protected] Оценка:

Я не получаю никакой ценности в счете: part - no zero or anything.

Может ли кто-нибудь помочь? Я был бы очень благодарен - я не эксперт-кодер, просто на самом деле путаюсь.

  • 0
    Вы пропускаете закрывающий EOD с ; на новой строке после Score: $score <br> . И подумайте об экранировании ваших входных значений.
  • 0
    Привет Фред, заключительный EOD находится на следующей строке - сэр, я должен был включить это. Как мне избежать входных значений?
Показать ещё 1 комментарий
Теги:
forms

2 ответа

1

отключенное поле не будет отправлено (срок действия RFC: успешный).

В этом примере элемент INPUT отключен. Следовательно, он не может принимать пользовательский ввод, и его значение не будет представлено в форме. <INPUT disabled name="fred" value="stone">

0

Просто измените это, добавив атрибут имени для ввода:

<input type="text" id="score" value="" disabled />

==>

<input type="text" id="score" name="score" value="" disabled />

Можно указать только именованный ввод, атрибут id только входные данные не передаются на ваш PHP-скрипт обработки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню