variable versteckt übergeben aber ohne input feld?

Shiivva

Erfahrenes Mitglied
also folgendes "Problem":

ich hab eine Seite, nennen wir mal formular.php, wo man dem namen zufolge *g* etwas eintragen kann.
da der eintrag in die mysql-db eingetragen werden soll,
wird das ganze an eine seite geschickt, die überprüft, wie zu verfahren ist...also z.b. das das ganze nur eingetragen wird, wenn alle felder ausgefüllt sind.

danach wird das ganze zurück auf die formular.php geleitet, mit der header funktion:
PHP:
header("Location: formular.php?id=$id&comment=$comment&name=$name")

dort wiederum wird, falls comment="" oder name="" sein sollte, ein
PHP:
echo "alle felder ausgefüllt?";

ausgegeben.
soweit so gut. nur wenn ich halt wirklich was eingetragen hab, steht natürlich wg.
PHP:
header("Location: formular.php?id=$id&comment=$comment&name=$name")

dann der eintrag in der adresszeile...

gibt es irgendeine möglichkeit, diese beiden variablen, comment und name, irgendwie versteckt "mitzugeben"?

hoffe ich konnts gut erklären?!
 
Also ohne Formular fällt mir da nichts ein..
Ausser der umweg über cookies oder sessionvariablen.. Das wäre dann "versteckt".
2b
 
Ich mache sowas immer mit cookies.
Man kann ja auch keine Zeitangabe für den cookie eingeben.
Dann wird der Keks nach Schließen des IE's wieder geschlossen.
 
Wenn wer cookies abgestellt ( nur ca 3% aller user) dann hat er pech gehabt...
aber mann kanns ja eh nie allen recht machen;)
Dann muss man wohl ein eigenes Crypt - script schreiben. Aber lohnt sich der aufwand. OK so schlimm isses nicht. aber ich wär zu faul.

2b
 
du könntest auch eine temporäre textdateie nemen, und immer den inhalt reinschreiben. Wenn du den alten inhalt immer überschreibst ist das eine recht einfache lösung, finde ich. Ansonsten könntest du auch mit einer session arbeiten, aber das gefällt mir nicht so in deinem zusammenhang ;)

öffne die datei mit fopen("filename.txt", "w+"); dann überschreibst du immer den aktuellen inhal.
 
1. Was hast du gegen input felder vom Typ hidden? Kannst die daten per hidden form posten. Halte ich für die einfachste Lösung.

2. Wenn es nicht unbedingt sein muss (sprich wenn's auch serverseitig geht) würde ich nie Cookies verwenden, da hierbei es auf die Client Einstellung ankommt. Ich verlass mich nur ungern darauf dass alle Cookies aktiviert haben.

3. Sessions halte ich für die optimale Lösung.

4. Die Möglichkeit die ganzen Dinger in die DB zu schreiben ist auch ok, nur wann werden sie gelöscht? Müsstest dann sowas wie einen Garbage Collector basteln, den nach ner bestimmten Zeit startest um die alten einträge zu löschen. Oder du modifizierst dein Formular Skript so, dass das löschen der alten einträge immer dann erfolgt wenn jemand auf das Formular zugreift. Hier würde ich dann allerdings eine Zeitschranke machen. Sprich, wenn der erste User um 14:00 auf das Skript zugreift und der zweite um 14:01 sollen die Sachen noch nicht gelöscht werden, da der erste User eventuell noch aktiv ist. Nach ner Stunde dürfte das allerdings besser aussehen.

Doch wie gesagt. 5tens ist eigentlich sowas wie eine Session. Da brauchst du dir die ganze Mühe nicht machen und das Rad neu erfinden. Nimm einfach die Sessions dafür.

So Long
TheVirus
 
Original geschrieben von TheVirus
1. Was hast du gegen input felder vom Typ hidden? Kannst die daten per hidden form posten. Halte ich für die einfachste Lösung.

also ich überhaupt nix gegen variablenübermittlung per input-feld, aber das geht ja bei meinem beispiel nicht(?!). da die variable ja durch die header funktion übermittelt werden soll, d.h. der user drückt ja kein submit oder so...

Das mit den Sessions schau ich mir mal genauer an.
Ich meine, sooooooooooooooooo schlimm ist das nicht, dass er die Variablen in die Adresszeile schreibt, es ist einfach nur "unschön".
Und ich dachte, das ganze ginge einfacher...
 
Zurück