Mengubah hala dan Menghantar Data melalui POST dalam PHP
Dalam senario di mana anda perlu menyerahkan borang HTML dengan medan tersembunyi ke gerbang dalam talian tetapi lebih suka berbuat demikian tanpa menggunakan borang HTML eksplisit, PHP menawarkan penyelesaian. Walau bagaimanapun, adalah penting untuk mengambil perhatian batasan tertentu apabila menggunakan PHP sahaja untuk mengendalikan permintaan POST.
Kaedah Tradisional: POST melalui Borang HTML
Pendekatan standard untuk menghantar data melalui POST melibatkan mencipta borang HTML dan menyerahkannya menggunakan:
<code class="php"><form action="action.php" method="post"> <input type="hidden" name="id" value="12345"> <input type="hidden" name="name" value="John"> <input type="submit"> </form></code>
POST dengan Pure PHP (Limitation)
Walaupun mungkin untuk mencapai permintaan POST menggunakan PHP tulen, terdapat adalah batasan untuk dipertimbangkan. PHP sahaja tidak boleh menghantar data terus melalui POST tanpa melibatkan pelayar. Sebaliknya, anda perlu menggunakan penyelesaian alternatif.
Satu pendekatan menggunakan perpustakaan cURL, yang membolehkan permintaan HTTP daripada PHP, menjadikan kod PHP bertindak sebagai pelanggan dan bukannya penyemak imbas.
<code class="php">$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://www.provider.com/process.jsp"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, "id=12345&name=John"); curl_exec($ch); curl_close($ch);</code>
Sebagai alternatif, jika anda berkeras untuk menggunakan POST tanpa pustaka luaran, menjana borang pra-diisi menggunakan PHP dan memanfaatkan cangkuk window.onload dalam JavaScript untuk menyerahkan borang mungkin merupakan pilihan yang berdaya maju. Walau bagaimanapun, pendekatan ini memerlukan pertimbangan yang teliti terhadap keserasian penyemak imbas dan implikasi keselamatan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menghantar data POST dalam PHP tanpa menggunakan borang HTML tradisional?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!