Jadual Kandungan
PHP 表单验证实例
您输入的内容是:
Rumah pembangunan bahagian belakang tutorial php Input dan pengesahan borang pembelajaran bentuk PHP

Input dan pengesahan borang pembelajaran bentuk PHP

Oct 29, 2021 am 10:38 AM
php input borang pengesahan borang

Dalam artikel sebelum ini, saya membawakan anda " Bagaimana untuk menetapkan dan mendapatkan atribut PDO dalam pembelajaran pangkalan data PHP? 》, yang memperkenalkan secara terperinci cara menetapkan dan mendapatkan atribut PDO dalam PHP Dalam artikel ini, kami akan melihat isu berkaitan borang PHP.

Input dan pengesahan borang pembelajaran bentuk PHP

Dalam artikel sebelum ini kita telah mempelajari tentang asas PHP, termasuk $_GET dan $_POST pembolehubah, yang digunakan untuk mendapatkan maklumat dalam bentuk, antaranya Titik pengetahuan yang memerlukan perhatian kami ialah input pengguna borang PHP dan pengesahan borang. Kemudian mari kita lihat pengetahuan berkaitan input borang dan pengesahan borang dalam PHP.

Borang PHP dan input pengguna

Untuk memahami borang PHP dan input pengguna, mula-mula kita perlu memahami apa itu satu borang. Tepatnya, borang Web ialah platform interaktif, dan fungsi utamanya adalah untuk menyediakan platform interaktif untuk penonton dan tapak web. Borang digunakan terutamanya dalam halaman web untuk menghantar data ke pelayan.

Sebagai contoh, borang yang digunakan semasa mendaftar maklumat perlu dihantar semasa anda mengisi maklumat pada masa ini adalah untuk memindahkan kandungan pada borang semasa anda mendaftar dari pelayar klien ke pelayan, dan kemudian melalui PHP Selepas program diproses, maklumat yang diperlukan oleh pengguna dihantar semula ke pelayar klien, dan interaksi antara PHP dan borang Web direalisasikan dengan mendapatkan maklumat pengguna. Ia hanya menyediakan platform interaktif sedemikian.

Seterusnya mari kita lihat borang tersebut melalui contoh contohnya seperti berikut:

<!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>PHP中文网</title>
 </head>
 <body>
 
 <form action="form.php" method="post">
     名字: <input type="text" name="fname"><br>
     年龄: <input type="text" name="age"><br>
     <input type="submit" value="提交">
 </form>
 
 </body>
 </html>
Salin selepas log masuk

Apa yang perlu kita perhatikan ialah borang tersebut adalah milik HTML. . Untuk pengetahuan yang lebih relevan, semua orang Anda boleh klik "Tutorial HTML" untuk mengetahui hasil larian contoh di atas:

Input dan pengesahan borang pembelajaran bentuk PHP

Ini. adakah apa yang kita panggil borang, maka kita akan ke mana maklumat yang diisi, iaitu maklumat borang akan dihantar? Apabila kita klik submit, data dalam borang akan dihantar ke page form.php dalam bentuk POST.

<?php
 header("Content-type:text/html;charset=utf-8");    //设置编码
 echo "欢迎你:".$_POST["fname"] ."<br/>";
 echo "你的年龄是:".$_POST[&#39;age&#39;];
 ?>
Salin selepas log masuk

Hasil yang kami hantar ke from.php adalah seperti berikut:

Input dan pengesahan borang pembelajaran bentuk PHP

Selepas input pengguna selesai, anda perlu mengubah suai borang pada masa ini Pengesahan dilakukan dan input pengguna harus disahkan melalui skrip sebelah klien apabila boleh. Pengesahan penyemak imbas lebih pantas dan mengurangkan beban pada pelayan.

Jika input pengguna perlu dimasukkan ke dalam pangkalan data, anda harus mempertimbangkan untuk menggunakan pengesahan pelayan. Cara yang baik untuk mengesahkan borang pada pelayan adalah dengan menghantar borang itu kepada dirinya sendiri, dan bukannya melompat ke halaman lain. Dengan cara ini pengguna boleh mendapatkan mesej ralat pada halaman borang yang sama. Ia akan lebih mudah bagi pengguna untuk mencari ralat. Jadi mari kita lihat pengetahuan berkaitan pengesahan borang.

Pengesahan Borang PHP

Kita perlu mempertimbangkan keselamatan semasa berurusan dengan borang PHP. Kami akan menunjukkan pemprosesan data borang PHP yang selamat Untuk mengelakkan penggodam dan spam, kami perlu melakukan pengesahan keselamatan data pada borang. Seterusnya, mari kita lihat medan teks yang diperlukan dan pilihan, butang radio dan butang serahkan dalam borang melalui contoh.

Contohnya adalah seperti berikut:

<!DOCTYPE HTML>
 <html>
 <head>
     <meta charset="utf-8">
     <title>PHP.cn</title>
 </head>
 <body>
 <h2 id="PHP-nbsp-表单验证实例">PHP 表单验证实例</h2>
 <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
    名字: <input type="text" name="name" value="">
     <br>
     E-mail: <input type="text" name="email" value="">
     <br>
     网址: <input type="text" name="website" value="">
     <br>
     备注: <textarea name="comment" rows="5" cols="40"></textarea>
     <br>
     性别:
     <input type="radio" name="gender"  value="female">女
     <input type="radio" name="gender"  value="male">男
     <br>
     <input type="submit" name="submit" value="提交">
 </form>
 </body>
 </html>
Salin selepas log masuk

Hasil keluaran:

Input dan pengesahan borang pembelajaran bentuk PHP

Apa yang perlu kita perhatikan to are the differences Medan mempunyai peraturan pengesahan yang berbeza Peraturan pengesahan untuk medan berbeza dalam contoh di atas adalah seperti berikut:

Peraturan pengesahan untuk nama diperlukan dan hanya boleh mengandungi huruf dan ruang. Peraturan pengesahan E-mel diperlukan, yang mestilah alamat e-mel yang sah (mengandungi '@' dan '.'). Peraturan pengesahan URL adalah pilihan dan jika ada, ia mesti mengandungi URL yang sah. Peraturan pengesahan untuk nota adalah pilihan, medan input berbilang baris. Peraturan pengesahan jantina diperlukan dan satu mesti dipilih.

Mari kita lihat pengetahuan yang digunakan dalam contoh di atas:

<span style="max-width:90%"><strong>$_SERVER["PHP_SELF"] </strong></span>$_SERVER["PHP_SELF"]

Pembolehubah

$_SERVER["PHP_SELF"]$_SERVER["PHP_SELF"]

ialah pembolehubah super global yang mengembalikan nama fail skrip yang sedang dilaksanakan. Oleh itu, <strong><span style="font-size: 16px;">htmlspecialchars()</span></strong> hantar data borang ke halaman itu sendiri dan bukannya melompat ke halaman lain. Dengan cara ini, pengguna boleh mendapatkan maklumat mesej ralat pada halaman borang. htmlspecialchars()

<🎜><🎜><🎜> Fungsi <🎜><🎜><🎜>

htmlspecialchars() 函数把特殊字符转换为 HTML 实体。这意味着 < 和 > 之类的 HTML 字符会被替换为 < 和 > 。这样可防止攻击者通过在表单中注入 HTML 或 JavaScript 代码(跨站点脚本攻击)对代码进行利用。

其中我们需要注意的是:

$_SERVER["PHP_SELF"] 变量能够被黑客利用,如何避免 $_SERVER["PHP_SELF"] 被利用?

$_SERVER["PHP_SELF"] 可以通过 htmlspecialchars() 函数来避免被利用。

form 代码如下所示:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Salin selepas log masuk

htmlspecialchars() 把一些预定义的字符转换为 HTML 实体。现在如果用户想利用 PHP_SELF 变量, 结果将输出如下所示:

<form method="post" action="test_form.php/"><script>alert(&#39;hacked&#39;)</script>">
Salin selepas log masuk

尝试该漏洞失败!

通过PHP验证表单数据

我们要做的第一件事是通过 PHP 的 htmlspecialchars() 函数传递所有变量。在用户提交该表单时,我们还要做两件事:

首先通过 PHP trim() 函数去除用户输入数据中不必要的字符,比如多余的空格、制表符、换行等,然后通过 PHP stripslashes() 函数删除用户输入数据中的反斜杠(\)。接下来我们创建一个检查函数,我们把函数命名为 test_input()。最后我们能够通过 test_input() 函数检查每个 $_POST 变量。

我们将验证程序可以放到上述示例中去,示例如下:


 
 
     
     PHP中文网(php.cn)
 
 
 
 
 
 

PHP 表单验证实例

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 名字:

E-mail:

网址:

备注:

性别:

您输入的内容是:"; echo $name; echo "
"; echo $email; echo "
"; echo $website; echo "
"; echo $comment; echo "
"; echo $gender; ?>
Salin selepas log masuk

输出结果:

Input dan pengesahan borang pembelajaran bentuk PHP

其中我们需要注意的是:

我们在执行以上脚本时,会通过$_SERVER["REQUEST_METHOD"]来检测表单是否被提交 。如果 REQUEST_METHOD 是 POST, 表单将被提交 - 数据将被验证。如果表单未提交将跳过验证并显示空白。在以上实例中使用输入项都是可选的,即使用户不输入任何数据也可以正常显示。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

Atas ialah kandungan terperinci Input dan pengesahan borang pembelajaran bentuk PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Pembalakan CakePHP Pembalakan CakePHP Sep 10, 2024 pm 05:26 PM

Log masuk CakePHP adalah tugas yang sangat mudah. Anda hanya perlu menggunakan satu fungsi. Anda boleh log ralat, pengecualian, aktiviti pengguna, tindakan yang diambil oleh pengguna, untuk sebarang proses latar belakang seperti cronjob. Mengelog data dalam CakePHP adalah mudah. Fungsi log() disediakan

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Panduan Ringkas CakePHP Panduan Ringkas CakePHP Sep 10, 2024 pm 05:27 PM

CakePHP ialah rangka kerja MVC sumber terbuka. Ia menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP mempunyai beberapa perpustakaan untuk mengurangkan beban tugas yang paling biasa.

See all articles