Borang PHP - medan yang diperlukan

Saya tidak tahu sama ada anda perasan bahawa apabila kami pergi ke dalam talian, sesetengah laman web memerlukan kami untuk mendaftarkan akaun, kami perlu mengisi maklumat yang kami tidak mempunyai diisi, akan ada gesaan untuk kami. Kami memberitahu anda perkara yang perlu diisi. Dalam bab ini, kami akan menerangkan medan yang diperlukan dan mesej ralat borang.


PHP - Medan yang diperlukan

Medan yang diperlukan ialah apa yang mesti kita isi apabila kita mengisi maklumat, jika tidak, tiada cara untuk lulus ,

Dalam bab sebelumnya, kami telah memperkenalkan peraturan pengesahan borang. Kami dapat melihat bahawa medan "Nama", "E-mel", dan "Jantina" tidak boleh kosong. Ini adalah medan yang diperlukan.

Medan
            字段         验证规则
    名字必须。 +只能包含字母和空格
    E-mail必须。 + 必须是一个有效的电子邮件地址(包含'@'和'.')
Peraturan pengesahan
    网址可选。如果存在,它必须包含一个有效的URL
    评论可选。 多行输入字段(文本域)
    性别必须。 必须选择一个
Nama< /td>Diperlukan. +Hanya boleh mengandungi huruf dan ruang<🎜>
E-melDiperlukan. + Mestilah alamat e-mel yang sah (mengandungi '@' dan '.') <🎜>
<🎜>

Dalam bahagian sebelumnya, semua medan input adalah pilihan kerana kami tidak mengesahkannya.

Dalam kod berikut kami telah menambah beberapa pembolehubah baharu: $nameErr, $emailErr, $genderErr, dan $websiteErr.. Pembolehubah ralat ini akan dipaparkan pada medan yang diperlukan. Kami juga menambah pernyataan if else untuk setiap pembolehubah $_POST. Pernyataan ini akan menyemak sama ada pembolehubah $_POST kosong (menggunakan fungsi PHP kosong()). Jika ia kosong, mesej ralat yang sepadan akan dipaparkan. Jika ia tidak kosong, data akan dihantar ke fungsi test_input():

<?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"]);
     }
 }
 ?>

Maksud kod di atas ialah jika Jika kami menyerahkan tanpa menulis apa-apa dalam tiga medan nama, e-mel dan jantina yang diperlukan, maka mesej ralat yang sepadan akan dipaparkan pada halaman, nama yang diperlukan dan e-mel diperlukan. Jika ia tidak kosong, maka pengesahan akan diluluskan dan kandungan dalam pernyataan else akan dilaksanakan.

Tetapi kod di atas tidak boleh memaparkan mesej ralat. Jom tengok bawah.


PHP - Paparkan mesej ralat

Dalam borang contoh HTML berikut, kami telah menambah beberapa skrip untuk setiap medan Setiap skrip akan memaparkan ralat apabila maklumat dimasukkan dengan salah. maklumat. (Jika pengguna menyerahkan borang tanpa mengisi maklumat, mesej ralat akan dikeluarkan):

Contoh

<!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>

Dalam contoh di atas, jika kami menyerahkan tanpa mengisi kandungan dalam kotak input dengan *, halaman berikut akan dipaparkan:

2.png

Lulus juga.


Langkah seterusnya ialah untuk mengesahkan data input, iaitu "Adakah medan Nama mengandungi huruf dan ruang sahaja?", dan "Adakah medan E-mel mengandungi sintaks alamat e-mel yang sah?", dan jika diisi dalam medan Laman Web, "Adakah medan ini mengandungi URL yang sah?".


Meneruskan pembelajaran
||
<!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>
  • Cadangan kursus
  • Muat turun perisian kursus