Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh menghantar data melalui POST ke tapak web luaran menggunakan PHP?

Bagaimanakah saya boleh menghantar data melalui POST ke tapak web luaran menggunakan PHP?

Patricia Arquette
Patricia Arquetteasal
2024-10-27 05:09:03990semak imbas

How can I send data via POST to an external website using PHP?

Mengubah hala dan Menghantar Data melalui POST dalam PHP

Dalam PHP, anda mungkin menghadapi situasi di mana anda perlu mengubah hala pengguna ke luaran laman web dan hantar data ke tapak web tersebut melalui POST. Tidak seperti bentuk HTML, PHP tidak menyokong tingkah laku ini secara asli.

GET lwn. POST

Dalam pembangunan web, terdapat dua kaedah utama untuk menghantar data daripada sumber ke destinasi:

  • GET: Data dilampirkan pada URL sebagai parameter pertanyaan, yang boleh dilihat dalam bar alamat penyemak imbas.
  • POST: Data disembunyikan daripada pengguna dan dihantar dalam badan permintaan.

PHP menyediakan kaedah mudah untuk menghantar data melalui GET menggunakan fungsi pengepala. Contohnya:

<code class="php">header('Location: http://www.provider.com/process.jsp?id=12345&name=John');</code>

POST dengan PHP

Walau bagaimanapun, PHP tidak boleh menghantar data terus melalui POST tanpa bergantung pada perpustakaan luaran atau manipulasi penyemak imbas. Satu pendekatan yang mungkin adalah menggunakan perpustakaan cURL untuk membuat permintaan POST. Walau bagaimanapun, ini memerlukan kod PHP untuk bertindak sebagai pelanggan, yang tidak selalunya diingini.

Penyelesaian alternatif melibatkan penjanaan borang HTML secara dinamik menggunakan PHP, mengisinya dengan data yang diperlukan dan menyerahkannya melalui JavaScript. Pendekatan ini membolehkan anda memanfaatkan POST tanpa mengendalikan permintaan secara langsung dalam PHP. Kod berikut menggambarkan konsep ini:

<code class="php">// Generate HTML form with hidden fields
$html = '<form action="http://www.provider.com/process.jsp" method="post">';
$html .= '<input type="hidden" name="id" value="12345">';
$html .= '<input type="hidden" name="name" value="John">';
$html .= '<script>document.onload = function() { document.forms[0].submit(); }</script>';</code>

Kod ini mencipta borang HTML yang akan menyerahkan dirinya sendiri secara automatik ke URL yang ditentukan apabila halaman dimuatkan. Walaupun kaedah ini bergantung pada sokongan penyemak imbas, kaedah ini membolehkan penghantaran data POST daripada PHP.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menghantar data melalui POST ke tapak web luaran menggunakan PHP?. 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