PHP isset ($ _ POST ["Submit1"])) не работает - PullRequest
0 голосов
/ 15 октября 2019

Итак, я пытаюсь запустить этот код, и в операторе if (isset($_POST["Submit1"])) для isset форма не выдаст сообщение об ошибке всякий раз, когда я оставляю свою форму пустой. Предполагается, что выдается $nameErr всякий раз, когда форма остается пустой, но это сообщение об ошибке не выдается. Всякий раз, когда я удаляю оператор if (isset($_POST["Submit1"])), он отлично запускает оператор else.

if (isset($_POST["Submit1"]))
{
    if (isset($_POST['name']))
    {
        $name = sanitizeString($_POST['name']);
    } else {
        $nameErr = "* Your name must consist of letters and whitespace.";
    }
}

Вот код кнопки отправки.

<input type="submit" name="Submit1" value="Calculate">

Как видите, именато же самое, поэтому я не думаю, что это проблема.

Вот остальная часть моего кода, если вы хотите взглянуть.

<!DOCTYPE html>
<html lang="en">

<head>
    <title>GPA Improvement Calculator</title>
    <style>
        .error {
          color: #FF0000;
        }
    </style>
</head>

<body>
    <h1>GPA Improvement Calculator</h1>

    <p><span class="error">All form fields must be completed for the GPA calculator to function.</span></p>

<?php
    function sanitizeString($var)
    {
        $var = stripslashes($var);
        $var = strip_tags($var);
        $var = htmlentities($var);
        return $var;
    }

    $name = "";
    $nameErr = "";

    if (isset($_POST["Submit1"]))
    {
        if (isset($_POST['name']))
        {
            $name = sanitizeString($_POST['name']);
        } else {
            $nameErr = "* Your name must consist of letters and whitespace.";
        }
    }

?>

    <form method="post" action="improveGPA.php">

        Name: <input type="text" size="35" name="name" value="<?php echo $name; ?>">
        <span class="error"><?php echo $nameErr; ?></span>
        <br><br>

        E-mail: <input type="text" size="35" name="email" value="">
        <span class="error"></span>
        <br><br>

        <input type="checkbox" name="agree"  >
        I agree to the terms and conditions of this website.
        <span class="error"></span>
        <br><br>

        Current GPA: <input type="text" size="4" name="currentGPA" value="">
        <span class="error"></span>
        <br><br>

        Current Total Credits: <input type="text" size="3" name="currentCredits" value="">
        <span class="error"></span>
        <br><br>

        I am taking <input type="text" size="3" name="newCredits" value="">
        <span class="error"></span> credits this semester.

        If I want to raise my GPA
        <input type="text" size="4" name="GPAincrease" value="">
        <span class="error"></span> points,
        I need a <span style="font-weight: bold;">????</span> GPA on my courses this semester.
        <br><br>

        <input type="submit" name="Submit1" value="Calculate">

    </form>

</body>

</html>

Это только начнет портить, еслиУ меня есть тот оператор if и я просто не буду показывать это сообщение об ошибке, когда форма пуста или заполнена.

...