php cURL POST, wie zu Folgen, Lage
Bin ich in etwas von einer Furche mit einem cURL-Problem. Die post funktioniert Super, die Daten, die GEBUCHT wird just fine, und erhalten ok, aber die url die gepostet Seite nicht angezeigt wird im browser nach der cURL-session ausgeführt wird, zum Beispiel betrachten Sie den folgenden code:
$ch = curl_init("http://localhost/eterniti/cart-step-1.php");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "error=1&em=$em&fname=$fname&lname=$lname&email1=$email1&email2=$email2&code=$code&area=$area&number=$num&mobile=$mobile&address1=$address1&address2=$address2&address3=$address3&suburb=$suburb&postcode=$postcode&country=$country");
curl_exec($ch);
curl_close($ch);
Die post arbeitet gut und ich bin ergriffen, um die cart-step-1.php wo ich die Bearbeitung der geposteten Daten, DOCH die Lage in der URL-Adressleiste des Browsers bleibt, dass der script-Seite, in diesem Fall proc_xxxxxx.php
Irgendwelche Ideen, wie man die URL-Adresse zu reflektieren, die Seite, ich bin eigentlich GEBUCHT?
Dank eine Mühle
- Was meinst du? Dein code funktioniert vollständig auf der server-Seite. Wollen Sie umleiten, um die generierte URL?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du suchst :
Können Sie curl_getinfo, um die Letzte URL, die Sie umgeleitet wurden:
und dann leiten Sie den Benutzer auf die Seite mit header
in diesem Fall werden Sie brauchen, um es in html - so Ihre proc_xxxxxx.php gibt eine html-Seite, die contanis eine form, die tatsächlich sendet die post-Daten.
was Sie derzeit tun, ist das abrufen einer bestimmten Seite (mit Parametern) auf Ihrem server und der Rückkehr, dass, wie die Daten für die Seite, die der browser angefordert. Ihr browser immer noch denkt, dass es als proc_xxxxxx.php aber die html-Daten wird es wieder vom server, dass aus der cart-step-1.php bitte, aber dein browser hat keine Möglichkeit dies zu wissen.
Einstellung der url in der browser-Leiste, um etwas willkürliches ist, wie unmöglich es wäre ein enormes Sicherheitsrisiko (z.B.
window.url.display = 'http://www.ebay.com/login'
) 😀Nachdem Sie das getan haben Ihre
curl
Sachen, die Sie umleiten können die Benutzer mitheader()
:Komplett
Je nachdem, worum es auf dieser Seite erwartet Sie auf Parameter, das möglicherweise oder möglicherweise nicht arbeiten. Wenn Sie die Umleitung der browser auf diese Seite, wird es nur eine
GET
Anfrage aus dem browser. Sie können den browser sendenPOST
Daten.Einzige, was mir in den Sinn kommt (wenn Sie wollen, um den Browser zu senden, die
POST
Daten):Anstelle der Verwendung von curl, ein Formular erstellen, bei der alle Werte in hidden-fields und zeigen eine Schaltfläche, die sagt
Continue
. Dann hat der Benutzer nur auf den Knopf drücken.