Dalam artikel sebelum ini, saya membawakan anda "Pembelajaran Borang PHP: Input dan Pengesahan Borang", yang memperkenalkan pengetahuan berkaitan input dan pengesahan borang dalam PHP secara terperinci Dalam artikel ini, mari kita teruskan untuk melihat cara mengesahkan medan yang diperlukan dalam borang. Semoga ia membantu semua orang!
Dalam artikel sebelum ini, kami belajar tentang input dalam borang dan pengesahan mudah borang melalui PHP. Apabila kami memasukkan maklumat, kami tidak akan digesa walaupun maklumat kami tidak dimasukkan. Dalam kehidupan seharian kita, apabila kita perlu mengisi maklumat, kita mesti mengisi beberapa maklumat penting Setelah kita tidak mengisinya, akan ada mesej segera memberitahu kita di mana maklumat itu belum diisi.
Ini sebenarnya yang kita panggil medan yang diperlukan Jadi bagaimanakah kesan medan yang diperlukan untuk diisi dicapai? Kemudian mari kita lihat cara mendapatkan medan yang diperlukan dan mesej ralat dalam borang.
Medan yang diperlukan PHP
Kami telah menemui medan yang diperlukan apabila kami mengisi maklumat semasa pendaftaran harian Medan yang diperlukan adalah tempat kami mengisi masa, ia mesti diisi, jika tidak, tidak akan ada cara untuk lulus.
Dalam artikel sebelumnya, kami telah memperkenalkan peraturan pengesahan borang Dalam contoh yang kami berikan, kami memperkenalkan: peraturan pengesahan nama adalah perlu, dan peraturan pengesahan E-mel adalah perlu. , antaranya alamat e-mel yang sah (mengandungi '@
' dan '.
'). Peraturan pengesahan jantina diperlukan dan satu mesti dipilih. Ini adalah bidang yang diperlukan dalam kuasa kita.
Dalam contoh daripada artikel sebelumnya, semua medan input adalah pilihan kerana kami tidak mengesahkannya. Jadi bagaimana kita boleh mencapai kesan bahawa medan yang diperlukan diperlukan?
Pada masa ini kita boleh menambah beberapa pembolehubah baharu pada kod berikut: $nameErr
, $emailErr
, $genderErr
dan $websiteErr
.
Pembolehubah ralat ini akan dipaparkan pada medan yang diperlukan. Kami juga menambahkan pernyataan if else
untuk setiap pembolehubah $_POST. Pernyataan ini akan menyemak sama ada pembolehubah $_POST kosong (menggunakan fungsi empty()
PHP). Jika ia kosong, mesej ralat yang sepadan akan dipaparkan. Jika tidak kosong, data akan dihantar ke fungsi test_input()
.
Seterusnya mari kita lihat aplikasi sebenar pembolehubah ini:
<?php // 定义变量并默认设为空值 $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "名字是必需的。"; } else { $name = test_input($_POST["name"]); } if (empty($_POST["email"])) { $emailErr = "邮箱是必需的。"; } 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 = "性别是必需的。"; } else { $gender = test_input($_POST["gender"]); } } ?>
Hasil output pada masa ini tidak kelihatan Kod ini perlu mengesahkan data borang melalui kod borang.
Peraturan pengesahan nama diperlukan dan peraturan pengesahan E-mel diperlukan, yang mestilah alamat e-mel yang sah (termasuk '@' dan '.'). Peraturan pengesahan jantina diperlukan dan satu mesti dipilih.
Kami tidak dapat memaparkan ralat melalui kod di atas Jika kami menyerahkan pengetahuan kod di atas tanpa menulis apa-apa dalam tiga kotak input medan yang diperlukan iaitu nama, e-mel dan jantina, ia akan dipaparkan pada halaman. mesej ralat. Jika ia tidak kosong, ia akan disahkan, dan kemudian kandungan dalam pernyataan lse akan dilaksanakan. Kemudian mari kita lihat cara untuk memaparkan maklumat ralat.
Dalam borang contoh HTML, kami telah menambah beberapa skrip untuk setiap medan Setiap skrip akan memaparkan mesej ralat apabila maklumat dimasukkan dengan salah. Untuk mencapai tujuan mengeluarkan mesej ralat jika pengguna menyerahkan borang tanpa mengisi maklumat.
Mari kita lihat cara memaparkan maklumat ralat melalui contoh. Contohnya adalah seperti berikut:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文网</title> </head> <style> .error {color: #FF0000;} </style> <body> <?php // 定义变量并设置为空值 $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "姓名是必填的"; } else { $name = test_input($_POST["name"]); } if (empty($_POST["email"])) { $emailErr = "电邮是必填的"; } 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 = "性别是必选的"; } else { $gender = test_input($_POST["gender"]); } } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?> <h2>PHP 验证实例</h2> <p><span class="error">* 必需的字段</span></p> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 姓名:<input type="text" name="name"> <span class="error">* <?php echo $nameErr;?></span> <br><br> 电邮:<input type="text" name="email"> <span class="error">* <?php echo $emailErr;?></span> <br><br> 网址:<input type="text" name="website"> <span class="error"><?php echo $websiteErr;?></span> <br><br> 评论:<textarea name="comment" rows="5" cols="40"></textarea> <br><br> 性别: <input type="radio" name="gender" value="female">女性 <input type="radio" name="gender" value="male">男性 <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="提交"> </form> <?php echo "<h2>您的输入:</h2>"; echo $name; echo "<br>"; echo $email; echo "<br>"; echo $website; echo "<br>"; echo $comment; echo "<br>"; echo $gender; ?> </body> </html>
Selepas melepasi data pengesahan, jika kami mengklik hantar tanpa mengisi nama, e-mel dan maklumat jantina kami yang ditanda, outputnya adalah seperti berikut:
Berdasarkan contoh di atas, kami telah melengkapkan keperluan pengisian medan yang diperlukan dalam borang PHP melalui pembolehubah $nameErr, $emailErr, $genderErr dan $websiteErr, juga sebagai kenyataan ifelse dan paparan ralat.
Jika anda merasakan bahawa peringatan teks tidak cukup menarik perhatian, adalah lebih biasa dalam kehidupan seharian kita apabila anda mengklik hantar, akan ada tetingkap timbul kecil pada halaman Seterusnya, sebagai satu cara untuk mengembangkan pengetahuan, mari kita lihat cara Melaksanakan peringatan timbul.
Contohnya adalah seperti berikut:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文网</title> </head> <style> .error {color: #FF0000;} </style> <body> <?php // 定义变量并设置为空值 $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "<script language=\"javascript\"> //声明标识符 { alert(\"姓名是必填的\"); //弹出对话框 } </script>"; } else { $name = test_input($_POST["name"]); } if (empty($_POST["email"])) { $emailErr = "<script language=\"javascript\"> //声明标识符 { alert(\"电邮是必填的\"); //弹出对话框 } </script>"; } 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 = "<script language=\"javascript\"> //声明标识符 { alert(\"性别是必选的\"); //弹出对话框 } </script>"; } else { $gender = test_input($_POST["gender"]); } } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?> <h2>PHP 验证实例</h2> <p><span class="error">* 必需的字段</span></p> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 姓名:<input type="text" name="name"> <span class="error">* <?php echo $nameErr;?></span> <br><br> 电邮:<input type="text" name="email"> <span class="error">* <?php echo $emailErr;?></span> <br><br> 网址:<input type="text" name="website"> <span class="error"><?php echo $websiteErr;?></span> <br><br> 评论:<textarea name="comment" rows="5" cols="40"></textarea> <br><br> 性别: <input type="radio" name="gender" value="female">女性 <input type="radio" name="gender" value="male">男性 <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="提交" onclick="MsgBox()"> </form> <?php echo "<h2>您的输入:</h2>"; echo $name; echo "<br>"; echo $email; echo "<br>"; echo $website; echo "<br>"; echo $comment; echo "<br>"; echo $gender; ?> </body> </html>
Apabila kita memasukkan hasil seperti biasa, hasil output adalah seperti berikut:
Apabila kita tidak Apabila mengeluarkan keputusan, tetingkap pop timbul berikut akan muncul pada halaman Jika item tidak diisi, akan ada peringatan tetingkap timbul:
<.>
Jika anda berminat, anda boleh klik pada "Tutorial Video PHP" untuk mengetahui lebih lanjut tentang pengetahuan PHP.
Atas ialah kandungan terperinci Pembelajaran borang PHP: Bagaimana untuk mengesahkan medan yang diperlukan dalam borang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!