Gewusst wie: übergeben von Variablen erhalten Sie im GET-string durch ein php header redirect?
Ich erhalte Werte mit einem GET-string von Aweber auf Benutzer-übermittlung eines Formulars. Ich nehme die Variablen, die Sie senden und senden Sie eine SMS-gateway zu Benachrichtigen, eine 3. Partei von der Einreichung von text-Nachricht.
Hier ist mein problem. Ich brauche zum umleiten der Seite, führt die ausgehende SMS-Befehle in einem php-header auf eine andere Seite schließlich zeigt die GET-Variablen gesendet von Aweber.
Kann ich abrufen die Variablen und Ihre Werte in der ersten Seite. Wie übertrage ich Sie auf die zweite Seite?
Hier ist der code, den ich bin mit auf der ersten Seite (sms.php) zur Erhebung der Variablen per Aweber:
$fname = $_GET['name'];
$femail = $_GET['email'];
$fphone = $_GET['telephone'];
....etc
header('Location: confirmed.php');
exit;
InformationsquelleAutor user1322707 | 2012-08-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
bekommen und es auf der nächsten Seite, wie:
....etc
Oder einfach nur
$_SESSION['get'] = $_GET;
InformationsquelleAutor
Zuerst konvertieren Sie die
$_GET
HTTP-variable in einem query-string verwendenDann fügen Sie die query-string-variable auf Ihren redirect-header
Getan.
?value=4%2e20
es wird sich ändern, um?value=4.20
. Und später$_POST['amount_value'] == 4.20
wird false zurückgegeben .Wie wäre es damit:
$query = urlencode(http_build_query($_GET));
InformationsquelleAutor
Müssen Sie nicht speichern Sie Sie in einer Sitzung sind, können Sie leicht geben Sie mit Ihrer location-header:
In confirmed.php Sie können diese Variablen mit $_GET-Methode.
.$fname
auf die confirmed.php Seite, wenn Sie echo Sie, anstatt die tatsächlichen Wert in die GET-stringKönnen Sie veröffentlichen Sie Ihren code von der php mit header("location...) und confirmed.php wo Sie versuchten, echo?
Ich war mit der gleichen
$fname=$_GET['name'];
in beide Seiten, da die Parameter in beiden strings die gleichen waren, dhname=value
Wenn diese Seite aufgerufen wird, Sie werden sofort weitergeleitet zu yourdomain.com/confirmed.php und dies ist die URL, die Sie sehen in Ihrem browser. Sehen Sie die Variablen in der URL?
Ja, aber Sie kommen, wie
confirmed.php?name=".$fname"&email=".$femail"
etc, anstelle der tatsächlichen Werte an Stelle von".$fname"
und".$femail"
.InformationsquelleAutor
Speichern Sie in der Sitzung:
Verwenden
session_start
am Anfang jeder Datei.InformationsquelleAutor
Bitte für jeden der Lektüre dieses in Zukunft Sitzungen für diese Art von variable-Wert übertragen, weil, wenn Sie verlassen sich meist auf das hinzufügen der variable header dann, wenn der Benutzer noch auf das Formular und eine Aktion ausführt, ändert sich der Wert des header dann Ihre eigenen Variablen-Wert ändert sich, da kommt es auf die header......einfach ausgedrückt, SESSIONS VERWENDEN.
InformationsquelleAutor
Versuchen. Es funktionierte perfekt für mich.
InformationsquelleAutor
Die besten können Sie tun ist, alle Ihre POST-Variablen an eine Sitzung wie diese:
Auf page1.php setzen:
Und auf page2.php setzen: (Wenn auf page1.php wir benutzen einen normalen POST-Formular senden mit form
action="page2.php
")Oder auf page2.php setzen: (Wenn auf page1.php verwenden wir eine selbst submit mit form
action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>
und dann mit einemheader("Location: page2.php");
zu bewegen, um die page2.php und pass auf unser POST-Variablen über eine Sitzung)Ich habe buchstäblich Stunden damit verbracht, herauszufinden, dass heraus, weil alle die Foren setzen es falsch oder unvollständig ist.
Jetzt ist es einfach nur aufrufen und Variablen übergeben von der page1.php wie diese zum Beispiel:
<b>Points: </b><?php echo $points; ?>
- und das ist es!!Wenn Situierung der
header('Location: page2.php');
imif
Zustand, usw. stellen Sie sicher, dass es in der ersten PHP-Skript von der Seite und vor jeder HTML-Ausgabe.InformationsquelleAutor
Dies funktioniert, verwenden Sie diese sentex
header('location:member_dashboard.php?id='.$id);
InformationsquelleAutor