Variablen per POST ansattt mit GET übergeben

Myar

Mitglied
Hallöchen!

Nach erfolgloser Suche im Internet wende ich mich nun an euch.

Mein Problem ist, dass ich im Moment per Hyperlink eine variable übergebe die per $_GET abgefragt wird uns somit z.B. bestimmter Content geladen wird.

Also:
Code:
<a href="?showpage=schoeneSeite>Gehe zur schönen Seite</a<
Und dann in der Adresszeile steht: http://www.eineDomain.de/?showpage=schoeneSeite

Nun will ich aber verhindern, dass ein Benutzer über die Seiten navigieren kann, indem er einfach in der Adresszeile einen anderen Wert für die Variable eingibt.

Da ich nichts finden konnte, dass derartige Dinge abfängt, dachte ich mir, es wäre doch praktisch, dann mit $_POST zu arbeiten, da dann die Variable nicht in der Adressleiste angezeigt wird.

Jetzt frage ich mich nur, wie das funktionieren soll, einen ganz normalen Hyperlink darzustellen, dieser aber einen Wert irgendwo hin gibt.
Dieser Wert ist auch noch dynamisch, also der Link kann von User zu User anders aussehen, je nachdem welche Faktoren aus der DB zusammen kommen. Und er wird halt benötigt um andere Aktionen hervorzurufen, da der Aufruf von index.php überprüft, wohin man navigiert und dementsprechend unterschiedliche Klassen aufruft.

Nun suche ich händeringend nach einem System, dass irgendwie funktionieren könnte.

Bin für jede Hilfe dankbar!

Gruß
Myar
 
Die POST-Methode dient eigentlich nur für Anfragen, die serverseitig eine Veränderung von Daten verursacht. Wenn du Manipulationen der URL verhindern willst, musst du das anders angehen. Wobei gesagt werden muss, dass auch POST-Anfragen manipuliert werden können.

Aber was genau stört dich daran eigentlich?
 
Da Werte aus der Datenbank kommen, vermute ich, dass es sich um eine Art Quiz oder Spiel handelt, in denen die Leute dann eventuell Daten manipulieren können.

Deshalb würde ich zu Sessions raten.
 
Ja genau, felix hat recht. Es ist ein Spiel. Und das navigieren über die Adressleiste ist insofern störend, daman Situationsbedingt zum Beispiel zum Wechseln eines Standortes was bezahlen muss.

Natürlich könnte ich auch sagen, dass jeder Auftruf einer Standortseite den Abzug eines bestimmten Geldbetrages mit sich zieht und somit der User da ruhig rumriesen kann.
Aber a) soll es auch situationsbedingt kostenlose reisen geben und b) wird beim einloggen und auswählen des Chars nachgeschaut, wo dieser sich zuletzt befand. Wenn man dann an einem Standort ist, wohin die Reise etwas kostet, wäre es unfair dann wieder Geld abzubuchen.

Also muss ich erst immer gucken, welche Situation vorliegt, um dann anzuweisen, was abzubuchen (oder auch andere Aktionen auszuführen, das Geldabbuchen ist nur grad ein spezielles Beispiel, auch adnere Daten währen in "Gefahr").

Wie genau ich da die Session anwenden soll, kann ich noch nicht nachvollziehen.
Bisher ist die Session zuständig, zu verhindern, dass man ohne einloggen spielen kann. Mehr nicht.
....
Achso! Klar, beim klick auf den Link also den Variablenwert an eine Sessionvariable übergeben. Aber wie? Also wie müsste der Link dann aussehen?

Gruß
Myar
 
Du musst selbstverständlich vorher prüfen, ob die Aktion erlaubt ist, in deinem Fall also, ob das Reisen erlaubt ist. Und auch wenn du eine Sitzung einsetzt, macht es diese Prüfung nicht überflüssig.
 
Was ich also brauche, wäre sowas wie eine zwischenfunktion, welche die Variable setzt und die Prüfung übernimmt.
Wo ich ja wieder vor dem Problem stehe, dass ich einen Submit Button bräuchte, der in ein Form eingebettet ist und dann die Funktion aufrufen kann und dieser die benötigten Parameter übergeben.

Da wäre wieder mein Problem, ich woltle eigentlich nicht die Navigation aus Buttons bestehen haben.
Bzw. könnte ich dann doch bei GET bleiben, wenn ich erst noch ein Prüffunktion einbauen muss, die halt vor jedem neuen Seitenaufruf durchlaufen wird.

Oder sehe ich das nun falsch?

Gruß
Myar
 
Zurück