Zum Inhalt springen

PHP Variable aus $Query_String


Empfohlene Beiträge

Hallo,

beschäftige mich noch nicht so lange mit PHP und bin da jetzt auf ein Problem gestoßen:

einer aufgerufenen Seite wird eine Rückgabeadresse übergeben, sieht in etwa so aus:

http://www.aufgerufene-seite.de/?Return_URL=http://www.zieladresse.de/

Diese Return_URL ziehe ich mir auf dieser Seite mit $_SERVER["QUERY_STRING"] heraus und schreibe sie dann in eine Variable. Bis hierhin kein Problem.

Auf einer anderen Seite soll beim klicken eines Button diese Return_URL dann wieder zum Einsatz kommen, das geht aber nicht weil die Variable dann nicht mehr bekannt ist, und aus der Adresszeile bekomm ich die Return_URL auch nicht mehr, weil die dann nicht mehr da steht.

Frage: wie kann ich diese Variable ständig speichern und dann an entsprechender Stelle wieder benutzen?

Hoffe das ist einigermassen verständlich beschrieben, über Hilfe würde ich mich sehr freuen.

Gruss,

Mathias

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also damit es übersichtlicher wird kannst Du vieleicht einfach Mal folgendes versuchen:



<?php
echo "<a href=\"index.php?strURL=URL\">Link</a>";
?>

[/PHP]

Dann kannst Du mit $_GET['strURL'] auf den Inhalt der Variablen zugreifen.

Nun hast Du die auf der nächsten Seite und wenn Du die mit einem Formular noch weiter schicken willst, dann geht das so:

[PHP]

<?php
echo "
<form action=\"index2.php?strURL=".$_GET['strURL']."\" method=\"post\">
<input type=\"submit\" name=\"btnSubmit\" value=\"Weiter\" />
</form>";
?>

Und zack kannst Du auch der folgeseite auch nach dem Abschicken des Formulares auf diese Variable zugreifen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

danke für die Antworten, also ich habe es mit $_GET probiert, das sieht dann so aus:

$qrySTR = $_SERVER["QUERY_STRING"]; //den Query String einlesen
$qrySTRc = strstr($qrySTR,"http://"); //alles ab "http://" rausschneiden
echo ($qrySTRc); //zum überprüfen ausgeben

$_GET['qrySTRc']; //dann GET benutzen[/PHP]

auf der anderen Seite mache ich dann:

[PHP]echo "<FORM action=\"index2.php?strURL=".$_GET['qrySTRc']."\" method=\"post\" target=\"_top\">\n";

Funktioniert aber nicht, er fügt die eingelesene Variable nicht mit an.

Mit Session arbeiten scheint recht kompliziert zu sein, meinst Du das ist notwendig? Im Prinzip hab ich ja meinen String, ich muss ihn nur noch irgendwie "transportieren" können, mehr will ich ja garnicht...

Link zu diesem Kommentar
Auf anderen Seiten teilen

In der sog. Superglobalen Variablen $_GET wird das gespeichert was mit der Methode Get im Browser übertragen wird. Also alles was an die URL angehängt ist. Allerdings nur, wenn diese URL auch mit der Variablen hinten dran auch so aufgerufen wurde. Diese Variable soll Sicherheitslücken schließen die dadurch entstehen können, wenn register_globals eingeschaltet ist. Wenn register_globals eingerschaltet ist, dann kannst Du immernoch direkt mit dem Variablennamen zugreifen.

Also wenn Du nun eine Seite aufrufst und dort auf einen Link klickst indem eine Variable "foo" mitgegeben wird, dann wird das per Get übertragen und auf der nächsten Seite kannst Du entweder bei abgeschalteten register_globals mit $_GET['foo'] oder wenn es aktiviert ist mit $foo auf diese Variable zugreifen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mit Session arbeiten scheint recht kompliziert zu sein, meinst Du das ist notwendig? Im Prinzip hab ich ja meinen String, ich muss ihn nur noch irgendwie "transportieren" können, mehr will ich ja garnicht...

Session sind leichter als du denkst zu handhaben!

Ich habe mich auch erst nicht daran getraut, müsste aber später feststellen dass es doch sehr einfach ist.

Um die Session zu starten:

session_start();

um die SessionID zu ermitteln oder setzen:

session_id(string);

und so speicherst du eine Variable in einer Session:

$_SESSION['bezeichnung'] = Wert;

auf der nächsten Seite kannst du den Wert dann ganz einfach so wieder auslesen (z.B. bei einer ausgabe):

echo $_SESSION['bezeichung'];

Das ist meiner Ansicht das Wichtigsten von allem.

Zumindestens reicht es für dich, wenn du einen Wert speichern willst.

Detailliertere Infos erhälst dann halt hier:

http://de2.php.net/manual/de/ref.session.php

mfg

Link zu diesem Kommentar
Auf anderen Seiten teilen

danke für Eure Antworten! Ich habe mir jetzt erstmal so geholfen den Wert in der Datenbank zu speichern und dann an entsprechender Stelle wieder aufzurufen. Vielleicht nicht das sauberste, aber es läuft.

Mit dem Thema Sessions werde ich mich dann aber auch mal auseinandersetzen und dann die Lösung evtl. vereinfachen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...