Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara mengendalikan penyerahan borang PHP dengan betul

Cara mengendalikan penyerahan borang PHP dengan betul

WBOY
WBOYasal
2023-08-11 13:05:102052semak imbas

Cara mengendalikan penyerahan borang PHP dengan betul

Cara mengendalikan penyerahan borang PHP dengan betul

Ikhtisar:
Dalam proses pembangunan laman web, penyerahan borang adalah operasi yang sangat biasa. Sebagai bahasa pengaturcaraan yang digunakan secara meluas dalam pembangunan web, PHP menyediakan pelbagai fungsi dan kaedah untuk mengendalikan penyerahan borang. Artikel ini akan memperkenalkan cara mengendalikan penyerahan borang PHP dengan betul dan menyediakan beberapa contoh kod untuk rujukan.

1. Langkah asas pemprosesan borang:

  1. Buat borang HTML:
    Pertama, buat borang dalam fail HTML dan tentukan medan yang perlu dihantar dan kaedah pemprosesan borang. Contohnya:
<form action="submit.php" method="post">
   <input type="text" name="username" placeholder="请输入用户名" required>
   <input type="password" name="password" placeholder="请输入密码" required>
   <input type="submit" value="提交">
</form>
  1. Cipta fail pemprosesan PHP:
    Seterusnya, kita perlu mencipta fail PHP untuk mengendalikan penyerahan borang. Sebagai contoh, kami mencipta fail yang dipanggil submit.php.
  2. Memproses data borang:
    Dalam fail submit.php, gunakan tatasusunan $_POST untuk mendapatkan data yang diserahkan oleh borang. Sebagai contoh, dapatkan nama pengguna dan kata laluan:
$username = $_POST['username'];
$password = $_POST['password'];
  1. Lakukan pengesahan dan penapisan data:
    Sebelum memproses data borang, kami perlu mengesahkan dan menapis data untuk memastikan keselamatan dan kesahihan data. Contohnya, untuk menyemak panjang nama pengguna dan menapis tag HTML:
if(strlen($username) < 6 || strlen($username) > 16){
   echo "用户名长度必须在6-16个字符之间";
   exit;
}
$username = htmlspecialchars($username);
  1. Lakukan operasi yang sepadan:
    Mengikut keperluan perniagaan, lakukan operasi yang sepadan pada data yang diserahkan oleh borang, seperti menyimpan dalam pangkalan data, menghantar e-mel , dsb. Berikut adalah contoh penyimpanan dalam pangkalan data:
// 连接数据库
$conn = mysqli_connect("localhost", "root", "password", "database");
// 检查连接是否成功
if (!$conn) {
   die("连接数据库失败: " . mysqli_connect_error());
}
// 执行插入操作
$sql = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
if (mysqli_query($conn, $sql)) {
   echo "数据提交成功";
} else {
   echo "数据提交失败: " . mysqli_error($conn);
}
// 关闭数据库连接
mysqli_close($conn);

2. Masalah dan penyelesaian pemprosesan borang biasa:

  1. Data borang kosong:
    Sebelum memproses penghantaran borang, anda perlu menentukan sama ada data borang kosong. Contohnya:
if(empty($username) || empty($password)){
   echo "用户名和密码不能为空";
   exit;
}
  1. Pengesahan borang gagal:
    Selepas mengesahkan data borang, jika didapati sesetengah data tidak memenuhi keperluan, anda boleh memaparkan mesej ralat kepada pengguna dan menamatkan operasi seterusnya. Contohnya:
if(strlen($username) < 6 || strlen($username) > 16){
   echo "用户名长度必须在6-16个字符之间";
   exit;
}
  1. Cegah serangan suntikan SQL:
    Untuk mengelakkan serangan suntikan SQL, kita harus menggunakan pernyataan yang disediakan atau pertanyaan berparameter dan bukannya menyambung penyataan SQL secara langsung.
$sql = "SELECT * FROM users WHERE username = ? AND password = ?";
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, "ss", $username, $password);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
while ($row = mysqli_fetch_assoc($result)) {
   // 处理结果集
}
mysqli_stmt_close($stmt);
  1. Cegah Serangan Skrip Merentas Tapak (XSS):
    Untuk mengelakkan serangan skrip merentas tapak, kami harus menapis dan melarikan diri dari semua data yang dimasukkan pengguna. Sebagai contoh, gunakan fungsi htmlspecialchars() untuk memproses input pengguna.
$username = htmlspecialchars($_POST['username']);

Kesimpulan:
Melalui langkah di atas, kami boleh mengendalikan penyerahan borang PHP dengan betul dan mengelakkan beberapa masalah pemprosesan borang biasa. Sudah tentu, dalam proses pembangunan khusus, pelarasan dan penambahbaikan yang sepadan mesti dibuat mengikut keperluan perniagaan. Akhir sekali, saya berharap artikel ini akan membantu anda apabila berurusan dengan penyerahan borang PHP.

Atas ialah kandungan terperinci Cara mengendalikan penyerahan borang PHP dengan betul. 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