Rumah > pembangunan bahagian belakang > masalah PHP > Pembelajaran borang PHP: Bagaimana untuk mengesahkan medan yang diperlukan dalam borang?

Pembelajaran borang PHP: Bagaimana untuk mengesahkan medan yang diperlukan dalam borang?

WBOY
Lepaskan: 2023-03-13 15:24:01
asal
1579 orang telah melayarinya

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!

Pembelajaran borang PHP: Bagaimana untuk mengesahkan medan yang diperlukan dalam borang?

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"]);
     }
 }
 ?>
Salin selepas log masuk

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>
Salin selepas log masuk

Selepas melepasi data pengesahan, jika kami mengklik hantar tanpa mengisi nama, e-mel dan maklumat jantina kami yang ditanda, outputnya adalah seperti berikut:

Pembelajaran borang PHP: Bagaimana untuk mengesahkan medan yang diperlukan dalam borang?

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>
Salin selepas log masuk

Apabila kita memasukkan hasil seperti biasa, hasil output adalah seperti berikut:

Pembelajaran borang PHP: Bagaimana untuk mengesahkan medan yang diperlukan dalam borang?

Apabila kita tidak Apabila mengeluarkan keputusan, tetingkap pop timbul berikut akan muncul pada halaman Jika item tidak diisi, akan ada peringatan tetingkap timbul:

<.>Pembelajaran borang PHP: Bagaimana untuk mengesahkan medan yang diperlukan dalam borang?

Pembelajaran borang PHP: Bagaimana untuk mengesahkan medan yang diperlukan dalam borang?

Pembelajaran borang PHP: Bagaimana untuk mengesahkan medan yang diperlukan dalam borang?

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan