Rumah > pembangunan bahagian belakang > tutorial php > Cara mengendalikan input dan pengesahan pengguna dalam PHP

Cara mengendalikan input dan pengesahan pengguna dalam PHP

王林
Lepaskan: 2024-05-02 11:33:02
asal
732 orang telah melayarinya

Pengendalian dan pengesahan input pengguna dalam PHP: Mengendalikan input: Gunakan $_GET, $_POST, dsb. untuk mengakses input pengguna. Input penapis: Gunakan fungsi filter_var() untuk mengalih keluar aksara yang tidak diperlukan. Sahkan jenis input: Gunakan is_numeric() untuk mengesahkan nombor, is_string() dan jenis pengesahan lain. Pengesahan ungkapan biasa: Gunakan regex untuk memadankan corak data yang kompleks. Kes praktikal: Mengendalikan pengesahan borang, menapis input, mengesahkan jenis input dan mengendalikan ralat.

如何在 PHP 中处理用户输入和验证

Cara Mengendalikan Input dan Pengesahan Pengguna dalam PHP

Kata Pengantar

Dalam pembangunan PHP, mengendalikan input pengguna dan mengesahkannya adalah penting untuk memastikan keselamatan dan kebolehpercayaan aplikasi. Artikel ini akan membimbing anda tentang cara menggunakan PHP untuk pemprosesan dan pengesahan input yang berkesan.

Pemprosesan Input Pengguna

Memproses input pengguna melibatkan penerimaan dan penyimpanan data yang dibekalkan pengguna. Dalam PHP, input pengguna boleh diakses menggunakan tatasusunan super global seperti $_GET, $_POST, $_REQUEST. $_GET$_POST$_REQUEST 等超级全局数组来访问用户输入。

// 从表单接收数据
$username = $_POST['username'];
$email = $_POST['email'];
Salin selepas log masuk

输入验证

输入验证确保用户输入符合预期的格式和约束。这是防止恶意输入和数据损坏的关键步骤。

过滤输入

过滤可去除不需要的字符或格式。PHP 提供了 filter_var() 函数进行过滤:

// 过滤电子邮件地址,只留下合法的电子邮件格式
$filteredEmail = filter_var($email, FILTER_VALIDATE_EMAIL);
Salin selepas log masuk

验证 输入类型

使用内置函数验证不同类型的输入:

  • is_numeric(): 验证是否是数字
  • is_string(): 验证是否是字符串
  • is_bool()
    // 验证 "10" 是否为数字
    if (is_numeric("10")) {
        echo "这是个数字";
    }
    Salin selepas log masuk
Pengesahan Input

Pengesahan input memastikan input pengguna mematuhi format dan kekangan yang diharapkan. Ini adalah langkah kritikal untuk mengelakkan input berniat jahat dan rasuah data.

Input penapis

Penapisan mengalih keluar aksara atau pemformatan yang tidak diingini. PHP menyediakan fungsi filter_var() untuk penapisan:

// 验证强密码,要求至少 8 个字符,包含大写字母、小写字母和数字
$strongPasswordRegex = '/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$/';
if (preg_match($strongPasswordRegex, $password)) {
    echo "密码是安全的";
}
Salin selepas log masuk

Sahkan jenis input

Gunakan fungsi terbina dalam untuk mengesahkan jenis input yang berbeza:

  • is_numeric ()< /code>: Sahkan sama ada ia adalah nombor<p><li><code>is_string(): Sahkan sama ada ia adalah rentetan

  • is_bool(): Sahkan sama ada ia adalah nilai Boolean🎜🎜
    <!-- HTML 表单 -->
    <form action="submit.php" method="post">
        <input type="text" name="username">
        <input type="email" name="email">
        <input type="submit" value="提交">
    </form>
    Salin selepas log masuk
    🎜🎜Pengesahan ungkapan biasa🎜🎜🎜Ungkapan biasa (regex) boleh digunakan untuk memadankan corak data yang kompleks:🎜
    // submit.php
    // 接收和过滤输入
    $username = filter_var($_POST['username'], FILTER_SANITIZE_STRING);
    $email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
    
    // 验证输入
    if (empty($username)) {
        echo "用户名不能为空";
    } elseif (empty($email)) {
        echo "电子邮件不能为空";
    } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        echo "电子邮件格式无效";
    } else {
        // 输入验证成功,可以继续处理
    }
    Salin selepas log masuk
    🎜🎜Kes praktikal🎜🎜 Contoh pengesahan bentuk PHP🎜 ialah🎜 rrreeerrreee🎜🎜Kesimpulan🎜🎜 🎜Dengan mengikuti langkah-langkah yang digariskan dalam artikel ini, anda boleh mengendalikan dan mengesahkan input pengguna dalam aplikasi PHP anda dengan berkesan. Teknologi ini membantu memastikan ketepatan dan kesempurnaan input, dengan itu meningkatkan keselamatan dan kebolehpercayaan aplikasi. 🎜

    Atas ialah kandungan terperinci Cara mengendalikan input dan pengesahan pengguna dalam PHP. 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