Manual belajar ...login
Manual belajar kendiri lengkap PHP
pengarang:php.cn  masa kemas kini:2022-04-15 13:53:54

Borang PHP



Pembolehubah $_GET dan $_POST dalam PHP digunakan untuk mendapatkan maklumat dalam bentuk, seperti input pengguna.


Pemprosesan borang PHP

Satu perkara yang sangat penting untuk diperhatikan ialah apabila memproses borang HTML, PHP secara automatik boleh secara automatik Menjadi tersedia untuk skrip PHP.

Contoh

Contoh di bawah mengandungi borang HTML dengan dua kotak input dan butang hantar.

form.html Kod fail adalah seperti berikut:

<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<form action="welcome.php" method="post">
名字: <input type="text" name="fname">
年龄: <input type="text" name="age">
<input type="submit" value="提交">
</form>
</body>
</html>
Apabila pengguna mengisi borang di atas dan mengklik butang hantar, data borang akan dihantar kepada nama Fail PHP untuk "welcome.php":

fail welcome.php adalah seperti berikut:

欢迎 <?php echo $_POST["fname"]; ?>!<br>
你的年龄是 <?php echo $_POST["age"]; ?>  岁。

Demo yang diakses melalui penyemak imbas adalah seperti berikut:

ebea44c50d0149ee1a56188155ee841.png

468a1578b0cac31cf9b7a3fc900084a.png

Kami akan menerangkan $_GET dan $_POST pembolehubah dalam PHP dalam bab seterusnya.


PHP Dapatkan data menu lungsur turun

PILIHAN radio menu lungsur PHP

Dalam contoh berikut, kami telah menyediakan tiga pilihan untuk menu lungsur turun Borang menggunakan kaedah GET untuk mendapatkan data Jika nilai atribut tindakan kosong , ini bermakna ia diserahkan kepada skrip semasa Kita boleh mendapatkan menu lungsur melalui atribut nama menu:

php_form_select.php kod fail:

<?php$q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : '';if($q) {
        if($q =='PHP') {
                echo 'php中文网教程<br>http://www.php.cn';        
                } else if($q =='GOOGLE') {
                echo 'Google 搜索<br>http://www.google.com';        
                } else if($q =='TAOBAO') {
                echo '淘宝<br>http://www.taobao.com';        
                }} 
                else {
                
                ?>
<form action="" method="get"> 
    <select name="q">
    <option value="">选择一个站点:</option>
    <option value="PHP">PHP</option>
    <option value="GOOGLE">Google</option>
    <option value="TAOBAO">Taobao</option>
    </select>
    <input type="submit" value="提交">
    </form>
<?php}?>

<. 🎜>Menu lungsur PHP berbilang pilih

Jika menu lungsur turun adalah Untuk berbilang pilihan (berbilang="berbilang"), kita boleh mendapatkannya dengan menetapkan pilih name="q[]" sebagai tatasusunan, dan serahkannya menggunakan POST Kodnya adalah seperti berikut:

php_form_select_mul.php Kod fail:

<?php$q = isset($_POST['q'])? $_POST['q'] : '';if(is_array($q)) {
    $sites = array(
            'PHP' => 'php中文网: http://www.php.cn',            
            'GOOGLE' => 'Google 搜索: http://www.google.com',            
            'TAOBAO' => '淘宝: http://www.taobao.com',    );    
            foreach($q as $val) {
        // PHP_EOL 为常量,用于换行
        echo $sites[$val] . PHP_EOL;    }
      } else {
      ?>
<form action="" method="post"> 
    <select multiple="multiple" name="q[]">
    <option value="">选择一个站点:</option>
    <option value="PHP">PHP</option>
    <option value="GOOGLE">Google</option>
    <option value="TAOBAO">Taobao</option>
    </select>
    <input type="submit" value="提交">
    </form>
<?php}?>

Butang radio. borang

Nilai atribut nama dalam bentuk butang radio PHP adalah konsisten, tetapi nilai nilainya berbeza , kodnya adalah seperti berikut:

php_form_radio.php kod fail:

<?php$q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : '';if($q) {
        if($q =='PHP') {
                echo 'php中文网教程<br>http://www.php.cn';        } else if($q =='GOOGLE') {
                echo 'Google 搜索<br>http://www.google.com';        } else if($q =='TAOBAO') {
                echo '淘宝<br>http://www.taobao.com';        }} else {
?><form action="" method="get"> 
    <input type="radio" name="q" value="RUNOOB" />Runoob    <input type="radio" name="q" value="GOOGLE" />Google    <input type="radio" name="q" value="TAOBAO" />Taobao    <input type="submit" value="提交"></form>
<?php}?>

kotak semak kotak

Kotak semak PHP Kotak semak boleh memilih berbilang nilai:

php_form_select_checkbox Kod fail .php:

<?php$q = isset($_POST['q'])? $_POST['q'] : '';if(is_array($q)) {
    $sites = array(
            'PHP' => 'php中文网教程: http://www.php.cn',            
            'GOOGLE' => 'Google 搜索: http://www.google.com',            
            'TAOBAO' => '淘宝: http://www.taobao.com',    );    
            foreach($q as $val) {
        // PHP_EOL 为常量,用于换行
        echo $sites[$val] . PHP_EOL;    }
      } else {
?>
<form action="" method="post"> 
    <input type="checkbox" name="q[]" value="PHP"> PHP<br> 
    <input type="checkbox" name="q[]" value="GOOGLE"> Google<br> 
    <input type="checkbox" name="q[]" value="TAOBAO"> Taobao<br>
    <input type="submit" value="提交">
    </form>
<?php}?>

Pengesahan Borang

Kami harus mencuba sedaya upaya untuk mengesahkan Input pengguna disahkan (melalui skrip klien). Pengesahan penyemak imbas adalah lebih pantas dan mengurangkan tekanan 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 data borang ke halaman semasa (penyerahan tak segerak adalah lebih baik), daripada 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.

Cadangan artikel berkaitan: "Pengenalan terperinci untuk mendapatkan data borang dengan PHP"

Tutorial praktikal yang disyorkan: "Borang PHP dan Input Pengguna