Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kaedah PHP POST

Kaedah PHP POST

WBOY
WBOYasal
2024-08-29 12:56:49773semak imbas

Kaedah siaran PHP adalah salah satu cara klien penyemak imbas dapat menghantar maklumat yang diperlukan kepada pelayan web. Pada asasnya, apabila kita perlu log masuk ke laman web atau berinteraksi dengan mel kita, ia bermakna kita sedang berurusan dengan borang. Borang digunakan untuk mengambil dan menyerahkan maklumat yang diambil daripada pengguna kepada pelayan web. Ia pada asasnya ialah teg HTML yang mempunyai item antara muka pengguna grafik seperti kotak input, butang radio, kotak semak, dll.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Borang ditakrifkan menggunakan tag dan item GUI yang diterangkan menggunakan elemen borang input dan mula digunakan apabila berurusan dengan pembangunan aplikasi boleh laras dan dinamik yang membenarkan input pengguna. Borang juga boleh digunakan untuk mengubah data sedia ada dalam maklumat pangkalan data.

Sintaks:

<?php
$_POST['var'];
?>

Di mana,

  • var ialah nama pembolehubah URL
  • $_POST ialah tatasusunan PHP

Bagaimanakah Kaedah PHP POST berfungsi?

Kaedah ini menyerahkan nilai melalui pengepala HTTP dan memandangkan pembolehubah di atas mempunyai skop global, ia boleh diperoleh dari mana-mana dalam atur cara. Kaedah ini paling baik digunakan apabila nilai siaran borang tidak ditunjukkan dalam URL.

Beberapa khasiatnya ialah:

  • Ia tidak mengenakan sebarang sekatan pada saiz data yang akan dihantar.
  • Pemindahan data berlaku melalui pengepala HTTP dan oleh itu keselamatan juga bergantung pada perkara yang sama. Oleh itu, dengan menggunakan kaedah HTTPS, kami boleh memastikan ia selamat.
  • Dengan menggunakan kaedah POST, kami boleh mengakses kedua-dua ASCII dan data binari.
  • $_POST ialah tatasusunan yang mengakses semua maklumat yang dihantar melalui kaedah ini.

Contoh untuk Melaksanakan Kaedah PHP POST

Di bawah adalah contoh yang dinyatakan:

Contoh #1

Kod:

<html>
<body>
<form action="Test.php" method="post">
First Name: <input type="text" name="name"><br>
Last Name: <input type="text" name="name"><br>
Mail ID: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>

Output:

Kaedah PHP POST

Penjelasan: Dalam contoh ini, kita akan melihat penyerahan borang HTML yang mudah di mana borang tersebut terdiri daripada 3 atribut: Nama Pertama, Nama Akhir dan ID Mel. Apabila pengguna mengisi semua maklumat dan kemudian mengklik pada butang hantar, data yang dimasukkan dihantar menggunakan kaedah HTTP POST.

Contoh #2

Kod:

<?php
if (!empty($_POST))
{
// Defining an array for the list of post values for all the
// different forms on the page
$pNameArray = array('Form1', 'Form2', 'Form3');
// To search all post identifiers that fall within $_POST
$postIdArr = array();
foreach ($pNameArray as $pName)
{
if (array_key_exists($pName, $_POST))
{
$postIdArr[] = $pName;
}
}
// There should be only one post identifier at a time and hence
// only an individual form should be used for submitting at a time
// A warning statement can be used instead of the die statement as used here
if (count($postIdArr) != 1)
{
count($postIdArr) < 1 or
// validation of count
die("\Validating count here: " .
implode(" ", $postIdArr));
// The above condition is not satisfied hence there is only one post identifier
die("\Presence of unknown post");
}
// Using switch statement to execute the codes for respective forms
switch ($postIdArr[0])
{
case 'Form1':
echo "Execute actual code for Form1.";
break;
case 'Modifyform':
echo "Execute actual code for Form2.";
break;
case 'Deleteform':
echo "Execute actual code for Form3.";
break;
}
}
else // $_POST is empty.
{
// displaying that POST is not executed
echo "POST is empty";
}
?>

Output:

Kaedah PHP POST

Penjelasan: Dalam contoh ini, kita melihat cara kaedah POST berfungsi untuk pelbagai bentuk. Oleh itu, kami menggunakan pernyataan suis untuk memproses borang yang berbeza dan semua borang harus berbeza untuk diproses tanpa sebarang ralat. Jika kita perlu menambah lebih banyak borang, ia hanya memerlukan entri dibuat dalam tatasusunan dan pernyataan suis.

Contoh #3

Kod:

<?php
if( POST["fullname"] ||
POST["weight"] || POST["height"] ) {
if (preg_match("/[^A-Za-z'-]/",$_POST['fullname'] )) {
die ("The name given is invalid and should be alpha");
}
echo "Welcome ". $_POST['fullname']. "<br />";
echo "Welcome ". $_POST['height']. "<br />";
echo "You are ". $_POST['weight']. "weight in kgs";
exit();
}
?>
<html>
<body>
<form action = "<?php $_PHP_SELF ?>" method = "POST">
Full Name: <input type = "text" name = "fullname" />
Height: <input type = "text" name = "height" />
Weight: <input type = "text" name = "weight" />
<input type = "submit" />
</form>
</body>
</html>

Output:

Kaedah PHP POST

Penjelasan: Rentetan pertanyaan dalam contoh ini dihantar ke badan mesej HTTP permintaan kaedah POST. Di sini kami menyatakan 3 atribut iaitu nama penuh, tinggi dan berat.

Kelebihan kaedah POST berbanding kaedah GET dalam PHP

  • Kaedah POST lebih selamat berbanding GET kerana maklumat yang dimasukkan oleh pengguna tidak ditunjukkan dalam rentetan pertanyaan URL atau dalam log pelayan.
  • Julat data yang boleh dihantar lebih banyak dalam POST berbanding kaedah GET kerana ia boleh menghantar kedua-dua data teks dan data binari seperti memuat naik fail menggunakan kaedah POST. Ia menyokong banyak fungsi lanjutan sedemikian.
  • Ia menyokong pelbagai jenis data yang berbeza seperti angka, rentetan, jenis binari.

Kesimpulan

Seperti yang ditunjukkan di atas, pada asasnya kaedah PHP Post digunakan untuk mengumpul data borang. Oleh itu menggunakan kaedah HTTP Post untuk menghantar maklumat melalui pelayan web. Memandangkan maklumat ini tidak pernah kelihatan dalam bar alamat, ia sering digunakan untuk menghantar data sensitif melalui pelayan. Mereka juga mempunyai beberapa kelemahan dari segi prestasi, permintaan kaedah POST tidak dicache dan oleh itu ia tidak disimpan dalam sejarah penyemak imbas.

Atas ialah kandungan terperinci Kaedah PHP POST. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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