Mit Hilfe von PHP zu übergeben, ein Formular-Feld als URL-parameter
Ich habe ein Formular Feld:
<input type="text" value="" name="Email" id="Email">
und meine form action confirmation-url ist diese:
http://.../index.php?Email=<?php echo $_POST['Email']; ?>
Jedoch nach dem Absenden, die E-Mail-parameter kommen nicht durch. Ist das etwas, das getan werden kann, in PHP, oder funktioniert es nur Lesen das Feld auf die erste Seite zu laden?
Dank
Welche HTTP-Methode verwendet wird, die in Ihrer form? Ich nehme an, es ist POSTEN, während Ihre E-Mail-Wert übergeben wird per GET
Verwenden Sie action="get" oder action="post"?
Verwenden Sie Formular-Methode "GET" anstelle von POST, und in den action param geben Sie einfach "http://.../index.php"
First things First: warum willst du es?
Vielen Dank für die Antworten. Leider bin ich nur auf die POST-action, wie es übergeben wird durch eine 3rd-party-Programm mit dem Bestätigungs-link weitergegeben werden, wie ein Formular-Feld später. GET in der URL funktioniert nur, wenn der parameter bereits vorhanden ist, in der url, so wie es aussieht bin ich SOL es sei denn, ich benutze JS oder etwas zum füllen der Bestätigungs-link.
Verwenden Sie action="get" oder action="post"?
Verwenden Sie Formular-Methode "GET" anstelle von POST, und in den action param geben Sie einfach "http://.../index.php"
First things First: warum willst du es?
Vielen Dank für die Antworten. Leider bin ich nur auf die POST-action, wie es übergeben wird durch eine 3rd-party-Programm mit dem Bestätigungs-link weitergegeben werden, wie ein Formular-Feld später. GET in der URL funktioniert nur, wenn der parameter bereits vorhanden ist, in der url, so wie es aussieht bin ich SOL es sei denn, ich benutze JS oder etwas zum füllen der Bestätigungs-link.
InformationsquelleAutor John | 2013-08-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihr Problem ist, dass das mischen Sie $_GET und $_POST.
Finden Sie hier Ihren code
http://.../index.php?Email=<?php echo $_POST['Email']; ?>
, wenn Sie posten, dass es nicht mehr $_POST['Email'], sondern $_GET['Email']. So der erste post wird wahrscheinlich funktionieren (wenn Sie mit<form method="post" action="...">
), aber die zweite reichen wird scheitern, wie$_POST['Email']
ist nicht mehr vorhanden.Daher empfehle ich, dass Sie nicht verwenden Parameter in der Aktion. Stattdessen legen Sie Sie in einem versteckten Bereich oder wechseln Sie zu nur
$_GET
Parameter.Option 1 verwenden hidden-Feld
Ändern Sie die form auf der zweiten Seite:
Option 2 verwenden Sie nur $_GET
Ändern Sie die form auf der ersten Seite zu
<form ... method="GET">
Und dann ändern Sie die form auf der zweiten Seite zu nutzen
$_GET['Email']
und die Methode zuGET
.Option 3, $_REQUEST statt $_POST
Verwenden Sie einfach
http://.../index.php?Email=<?php echo $_REQUEST['Email']; ?>
wie Sie Ihre action-url, $_REQUEST ist die Zusammenfassung von $_GET und $_POST. Beachten Sie, dass dies eine Zusammenführung von $_GET, $_POST und $_COOKIE.InformationsquelleAutor Aron Cederholm
Es hängt davon ab, die Ihre FORM method
Ihre form sollte
- und E-Mail-Zugriff in index.php Sie können code schreiben, als unten
wenn Ihr Formular ist wie folgt (bitte überprüfen Sie, dass die Methode get
- und E-Mail-Zugriff in index.php Sie können code schreiben, als unten
InformationsquelleAutor Sandesh Daddi
Brauchen Sie nicht zu definieren die Struktur der
GET
Anfrage; das ist es, was die form tut.Zum Beispiel:
...wenn eingereicht, würde automatisch das Feld Anhängen -
honey_type
- die URL für Sie. Es würde so enden:Können Sie dann den Wert zuzugreifen, der über
$_GET['honey_type']
imworkerbee.php
. Vorab füllen Sie das Formular mit den vorhandenen übermittelten Wert - unter der Annahme, dassworkerbee.php
hält die form - fügen Sie einfach eine bedingtevalue
parameter:InformationsquelleAutor jterry
Wenn Sie versuchen, verwenden Sie die Daten aus Ihrer aktuellen form, der form-tag sollte wie folgt lauten:
Wenn Sie versuchen, die übertragung von Daten von Ihrem server bereits hat (z.B. aus einer früheren form), dann sollten Sie eine versteckte Feld statt:
InformationsquelleAutor IanPudney