PHP Formularvalidering - Obligatoriske felter
- Forrige side PHP formularvalidering
- Næste side PHP formular URL/E-mail
Dette afsnit viser, hvordan man laver obligatoriske inputfelter og opretter de fejlmeddelelser, der er nødvendige.
PHP - Inputfelter
Fra valideringsreglerne i det forrige afsnit kan vi se, at "Navn", "E-mail" og "Køn"-felterne er obligatoriske. Disse felter kan ikke være tomme og skal udfyldes i HTML-formen.
Felt | Valideringsregler |
---|---|
Navn | Obligatorisk. Det skal indeholde bogstaver og mellemrum. |
Obligatorisk. Det skal indeholde en gyldig e-mailadresse (med @ og .). | |
Websted | Valgfri. Hvis udfyldt, skal det indeholde en gyldig URL. |
Kommentar | Valgfri. Multilinje-inputfelt (tekstfelt). |
Køn | Obligatorisk. Der skal vælges en mulighed. |
I det forrige afsnit var alle inputfelter valgfri.
I nedenstående kode tilføjer vi nogle nye variabler: $nameErr, $emailErr, $genderErr og $websiteErr. Disse fejlvariabler gemmer fejlmeddelelser for de anmodede felter. Vi tilføjer også en if else-sætning til hver $_POST-variabel. Denne sætning tjekker, om $_POST-variablen er tom (ved hjælp af PHP-funktionen empty()). Hvis den er tom, gemmes fejlmeddelelsen i forskellige fejlvariabler. Hvis den ikke er tom, sendes brugerens inputdata gennem test_input()-funktionen:
<?php}} // Definer variabler og sæt dem til tomme værdier $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Navn er påkrævet"; } else { $name = test_input($_POST["name"]); } if (empty($_POST["email"])) { $emailErr = "E-mail er påkrævet"; } else { $email = test_input($_POST["email"]); } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); } if (empty($_POST["comment"])) { $comment = ""; } else { $comment = test_input($_POST["comment"]); } if (empty($_POST["gender"])) { $genderErr = "Køn er påkrævet"; } else { $gender = test_input($_POST["gender"]); } } ?>
PHP - Vis fejlmeddelelser
I HTML-formularer tilføjer vi lidt script bag hvert anmodet felt. Hvis nødvendigt genereres passende fejlmeddelelser (hvis brugeren forsøger at sende formularen uden at udfylde obligatoriske felter):
Eksempel
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Navn: <input type="text" name="name"> <span class="error">* <?php echo $nameErr;?></span> <br><br> E-mail: <input type="text" name="email"> <span class="error">* <?php echo $emailErr;?></span> <br><br> Website: <input type="text" name="website"> <span class="error"><?php echo $websiteErr;?></span> <br><br> <label>Kommentar: <textarea name="comment" rows="5" cols="40"></textarea></label> <br><br> Køn: <input type="radio" name="gender" value="female">Kvinde <input type="radio" name="gender" value="male">Mand <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form>
Næste er validering af inputdata, dvs. 'Er 'Name'-feltet kun udelukkende bogstaver og mellemrum?', og 'Er 'E-mail'-feltet korrekt skrevet som en e-mailadresse?', og hvis 'Website'-feltet er udfyldt, 'Er dette felt en gyldig URL?'.
- Forrige side PHP formularvalidering
- Næste side PHP formular URL/E-mail