Link-Variablenübergabe ohne Adresszeile
Johannes Weiß
- php
0 wahsaga0 egal0 Johannes Weiß0 wahsaga
Hallo!
Ich möchte per <a href...-Link ein paar Variablen an ein php Script leiten. Gehen würde es ja mit script.php?var1=wert1&var2.... usw.
Das Problem ist aber, dass man das ganze in der Adressleiste des Browsers sieht. Ich hab schon viele Seiten gesehen, wo nur www.irgendneadresse.de/index.php dasteht, egal wo ich auf der Seite rumklicke. Wie wird sowas gelöst? Wird das per Frame gemacht, oder gibts da spezielle schreibweisen oder konfigurationsmöglichkeiten??
Danke schonmal fürs anguggn ;-)
Cia
Johannes
hi,
Ich möchte per <a href...-Link ein paar Variablen an ein php Script leiten. Gehen würde es ja mit script.php?var1=wert1&var2.... usw.
diese übertragungsmethode nennt sie GET.
Das Problem ist aber, dass man das ganze in der Adressleiste des Browsers sieht.
warum ist das ein problem, sind deine daten etwa "geheim"?
Ich hab schon viele Seiten gesehen, wo nur www.irgendneadresse.de/index.php dasteht, egal wo ich auf der Seite rumklicke. Wie wird sowas gelöst?
per POST zum beispiel. erfordert aber idR. ein formular.
Wird das per Frame gemacht
_kann_ man auch machen, ist aber dringend von abzuraten.
ausserdem löst es keine sicherheitsrelevanten probleme.
oder gibts da spezielle schreibweisen
wenn du deine parameter irgendwie kodieren willst, lass dich nicht aufhalten.
oder konfigurationsmöglichkeiten??
AFAIK nein.
gruss,
wahsaga
Ich hab schon viele Seiten gesehen, wo nur www.irgendneadresse.de/index.php dasteht, egal wo ich auf der Seite rumklicke. Wie wird sowas gelöst?
Die nehmen da wahrscheinlich Cookies. Dort wird dann alles gespeichert und die Seiten lesen die Cookies aus, statt die Adresszeile.
Ich möchte per <a href...-Link ein paar Variablen an ein php Script leiten. Gehen würde es ja mit script.php?var1=wert1&var2.... usw.
diese übertragungsmethode nennt sie GET.
Ist mir bekannt nur wollt ich von der method GET über Formular abweichen (obwohls ja prinzipell dasselbe ist)
Das Problem ist aber, dass man das ganze in der Adressleiste des Browsers sieht.
warum ist das ein problem, sind deine daten etwa "geheim"?
"geheim" nicht, aber ich hab gern saubere Adressleisten
Ich hab schon viele Seiten gesehen, wo nur www.irgendneadresse.de/index.php dasteht, egal wo ich auf der Seite rumklicke. Wie wird sowas gelöst?
per POST zum beispiel. erfordert aber idR. ein formular.
Formulare verwende ich auch, aber je link ein Formular zu erstellen halt ich für sehr aufwendig.
Wird das per Frame gemacht
_kann_ man auch machen, ist aber dringend von abzuraten.
ausserdem löst es keine sicherheitsrelevanten probleme.
Hätt ich auch net gemacht...
oder gibts da spezielle schreibweisen
wenn du deine parameter irgendwie kodieren willst, lass dich nicht aufhalten.
mit schreibweisen meine ich ne andere "codierungsart" bei der übergabe, z.b. <a href="./index.php%invisible?var=wart%invisibleend oder sowas in die richtung... (ok, isn blödes beispiel...)
oder konfigurationsmöglichkeiten??
AFAIK nein.
hätt ja sein können --> register_globals-spielchen ;-)
Ich hab irgendwoher mal was gehört/gelesen, dass man über ne registrierte Session-variable und über OnClick im Link nen PHP-Code nach dem klick ausführen könne und dann stünde die Variable zur verfügung. Was ist an dem Gerücht dran?
Cia
Johannes
hi,
warum ist das ein problem, sind deine daten etwa "geheim"?
"geheim" nicht, aber ich hab gern saubere Adressleisten
dann solltest du dich mal über mod_rewrite informieren (sofern webserver ein apache ist).
damit kannst du parameter so schreiben, dass sie eher wie verzeichnisnamen aussehen, ist oft etwas "schöner".
Ich hab irgendwoher mal was gehört/gelesen, dass man über ne registrierte Session-variable und über OnClick im Link nen PHP-Code nach dem klick ausführen könne und dann stünde die Variable zur verfügung. Was ist an dem Gerücht dran?
über einen link/onClick kannst du allerhöchstens eine ressource aufrufen, hinter der ein php-script liegt. dabei musst du die parameter aber auf die gleiche weise übergeben, man wird sie wiederrum in der adresszeile sehen.
sessions sind eine möglichkeit, um daten auf dem server über mehrere seiten hinweg zu speichern.
aber
a) müssen die daten natürlich erst einmal in die session hineinkommen (->parameterübergabe vom client an den server -> wieder das selbs problem), und
b) wenn der user keine cookies akzeptiert, muss die session-id ebenfalls per link übergeben werden, d.h. du hast noch einen zusätzlichen kryptischen parameter in der adresszeile stehen ...
gruss,
wahsaga