PHP-lomakkeen vahvistus - Pakolliset kentät
- 上一页 PHP 表单验证
- 下一页 PHP 表单 URL/E-mail
Tämä luku näyttää, miten tehdään pakollisia syöttökenttiä ja luodaan tarvittaessa käytettävät virheilmoitukset.
PHP - Syöttökentät
Edellisestä vahvistussäännöstä näemme, että "Nimi", "Sähköpostiosoite" ja "Sukupuoli"-kentät ovat välttämättömiä. Nämä kentät eivät saa olla tyhjiä ja ne täytyy täyttää HTML-lomakkeessa.
Kenttä | Vahvistussäännöt |
---|---|
Nimi | Välttämätön. Se täytyy sisältää kirjaimia ja välilyöntejä. |
Sähköpostiosoite | Välttämätön. Se täytyy sisältää kelvollinen sähköpostiosoite (@ ja . sisältävä). |
Verkkosivusto | Valinnainen. Jos täytetään, se täytyy sisältää kelvollinen URL-osoite. |
Kommentti | Valinnainen. Monirivinen syöttökenttä (tekstiruutu). |
Sukupuoli | Välttämätön. Valitse yksi vaihtoehto. |
Edellisessä luvussa kaikki syöttökentät olivat valinnaisia.
Alla olevassa koodissa lisäsimme joitakin uusia muuttujia: $nameErr、$emailErr、$genderErr ja $websiteErr. Nämä virhemuuttujat tallentavat pyydettävän kentän virheilmoitukset. Lisäksi jokaiselle $_POST-muuttujalle lisäsimme if-else-lauseen. Tämä lause tarkistaa, onko $_POST-muuttuja tyhjä (PHP:n empty()-funktiolla). Jos se on tyhjä, virheilmoitus tallennetaan eri virhemuuttujaan. Jos se ei ole tyhjä, käyttäjän syöte lähetetään test_input() -funktioon:
<?php}} // Määritä muuttujat ja aseta ne tyhjäksi $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Name is required"; } else { $name = test_input($_POST["name"]); } if (empty($_POST["email"])) { $emailErr = "Email is required"; } 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 = "Gender is required"; } else { $gender = test_input($_POST["gender"]); } } ?>
PHP - Näytä virheilmoitukset
HTML-lomakkeessa lisäämme hieman skriptiä jokaisen pyydettävän kentän perään. Jos tarpeen, luodaan sopivat virheilmoitukset (jos käyttäjä yrittää lähettää lomakkeen ilman täyttämättä pakollisia kenttiä):
Esimerkki
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Nimi: <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>Comment: <textarea name="comment" rows="5" cols="40"></textarea> <br><br> Gender: <input type="radio" name="gender" value="female">Female <input type="radio" name="gender" value="male">Male <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form>
接下来是验证输入数据,即“Name 字段是否只包含字母和空格?”,以及“E-mail 字段是否包含有效的电子邮件地址语法?”,并且如果填写了 Website 字段,“这个字段是否包含了有效的 URL?”。
- 上一页 PHP 表单验证
- 下一页 PHP 表单 URL/E-mail