Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich mit PHP Daten per POST an eine externe Website senden?

Wie kann ich mit PHP Daten per POST an eine externe Website senden?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-27 05:09:03990Durchsuche

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

Umleiten und Senden von Daten per POST in PHP

In PHP kann es vorkommen, dass Sie einen Benutzer an einen externen Benutzer umleiten müssen Website und übermitteln Sie Daten per POST an diese Website. Anders als bei HTML-Formularen unterstützt PHP dieses Verhalten nicht nativ.

GET vs. POST

In der Webentwicklung gibt es zwei Hauptmethoden zum Senden von Daten aus einer Quelle an ein Ziel:

  • GET: Daten werden als Abfrageparameter an die URL angehängt, die in der Adressleiste des Browsers sichtbar sind.
  • POST: Daten werden vor dem Benutzer verborgen und gesendet im Anfragetext.

PHP bietet eine einfache Methode zum Senden von Daten per GET mithilfe der Header-Funktion. Zum Beispiel:

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

POST mit PHP

PHP kann Daten jedoch nicht direkt per POST senden, ohne auf externe Bibliotheken oder Browsermanipulation angewiesen zu sein. Ein möglicher Ansatz besteht darin, die cURL-Bibliothek zu verwenden, um POST-Anfragen zu stellen. Allerdings muss hierfür der PHP-Code als Client fungieren, was nicht immer wünschenswert ist.

Eine alternative Lösung besteht darin, ein HTML-Formular dynamisch mit PHP zu generieren, es mit den erforderlichen Daten zu füllen und es per JavaScript zu übermitteln. Mit diesem Ansatz können Sie POST nutzen, ohne die Anfrage direkt in PHP zu bearbeiten. Der folgende Code veranschaulicht dieses Konzept:

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

Dieser Code erstellt ein HTML-Formular, das sich beim Laden der Seite automatisch an die angegebene URL sendet. Während diese Methode auf Browserunterstützung angewiesen ist, ermöglicht sie die POST-Datenübertragung von PHP.

Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP Daten per POST an eine externe Website senden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn