Umleiten und Senden von Daten per POST in PHP
In Szenarien, in denen Sie ein HTML-Formular mit versteckten Feldern an ein Online-Gateway senden müssen, aber Wenn Sie dies lieber ohne die Verwendung expliziter HTML-Formulare tun möchten, bietet PHP eine Lösung. Es ist jedoch wichtig, bestimmte Einschränkungen zu beachten, wenn PHP allein zur Bearbeitung von POST-Anfragen verwendet wird.
Traditionelle Methode: POST über HTML-Formulare
Der Standardansatz zum Senden von Daten per POST beinhaltet das Erstellen eines HTML-Formulars und das Senden mit:
<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 mit reinem PHP (Einschränkungen)
Es ist zwar möglich, POST-Anfragen mit reinem PHP zu erreichen sind Einschränkungen zu berücksichtigen. PHP allein kann Daten nicht direkt per POST senden, ohne den Browser einzubeziehen. Stattdessen müssen Sie auf alternative Lösungen zurückgreifen.
Ein Ansatz ist die Verwendung der cURL-Bibliothek, die HTTP-Anfragen von PHP ermöglicht, wodurch der PHP-Code effektiv als Client und nicht als Browser fungiert.
<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>
Wenn Sie alternativ darauf bestehen, POST ohne externe Bibliotheken zu verwenden, kann die Generierung eines vorab ausgefüllten Formulars mit PHP und die Nutzung des window.onload-Hooks in JavaScript zum Senden des Formulars eine praktikable Option sein. Dieser Ansatz erfordert jedoch eine sorgfältige Abwägung der Browserkompatibilität und der Sicherheitsauswirkungen.
Das obige ist der detaillierte Inhalt vonWie kann ich POST-Daten in PHP senden, ohne herkömmliche HTML-Formulare zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!