Ich komme mal wieder mit den simpelsten Fragen..

  • Themenstarter Themenstarter PatMor
  • Beginndatum Beginndatum
P

PatMor

Und zwar versuche ich je gerade PHP zu erlernen und weiß nun endlich (für mich ein RIESEN erfolg) wie ich Variablen per Link verändere, bzw. deren Werte. Nun möchte ich mehrere Werte nach einander und nicht in einem Link ändern; z.B. Seitenwechsel / Sprache / Passwort

Weiß aber nicht wie ich das machen soll. Muss die Variable die zuletzt verändert wird hinten stehen?

"http://www.domain.de/main.php?page=home&lang=germ"

Nun hätte ich erstens gern gewusst wie ich es hinbekomme das dies (siehe oben) so dasteht wenn ein User die Seite öffnet und weiterhin wie ich die Links schreibe um zum beispiel die Sprache zu ändern..

<a href="main.php?page=galerie">Zur Galerie</a>
So habe ich das bisher gemacht. Was passiert jetzt aber wenn ich eine neue Variable ändern bzw setzen will!?

Verzeiht mir meine Unwissenheit..
:rolleyes:
 
Dann müsstest du jedem Link die Werte anhängen. Du könntest aber auch mit Sessions arbeiten, die Serverseitig gespeichert werden. http://php.net/session

Hier müsstest du nur Abfangen, ob sich was ändert und dies in der Session ändern.
Ansonsten müsstest du für jeden Link die einzelnen Werte setzen und dies per PHP übermitteln.

Gruß TvP
 
Die Reihenfolge ist irrelevant. Das Problem wird aber sein, dass die Variablen nur während der Laufzeit des Skriptes existieren und deshalb entweder jedes Mal übertragen oder benutzerbezogen gespeichert werden (etwa mithilfe von PHP-Sitzungen oder Cookies).
 
Hi Gumbo.

Diesmal war ich schneller :p

Beachte bitte aber auch, dass deine Scripte weiterhin sicher sein müssen, so solltest du Sessions_ids wechseln oder diese löschen, wenn der Benutzer längere Zeit lang nicht aktiv war. Gerade bei der Übergabe von Passwörtern oder Nutzeraccounts muss darauf geachtet werden.
 
@TvP

Da hätte ich mal ne Frage, da ich ja auch mit Sessions arbeite wie meinst du das genau die Session ID wechseln. Man sieht ja manchmal Seiten wo noch sid=32423472340... dran ist hat es damit was zu tun ? Also beim logout zerstöre ich die Session Daten das ist klar.
Inwiefern aber meinst du das mit wechseln. Ich frage weil ich doch sehr interessiert bin in Sicherheitslücken vernichten ;)
 
Also wie bereits erwähnt stehe ich noch weit am Anfang und hätte es daher gern so einfach wie möglich..

Das die Reihenfolge egal ist dachte ich mir, aber ich muss des ja mit einem "&" verknüpfen und ich weiß halt nicht wie ich das mache!? Oder kann ich das vorsichtshalber überall dahinter setzen?

http://www.domain.de/main.php?lang=germ&page=home&

Geht das?

Und wie schreibe ich dann die Links?

Das Ändern der ersten Var sieht ja so aus:

<a href="http://www.domain.de/main.php?lang=engl">..

Wie dann aber der zweite?

<a href="http://www.domain.de/main.php?page=home">..

Bleibt dann die Spracheeinstellung "Englisch" erhalten
 
Bleibt dann die Spracheeinstellung "Englisch" erhalten
Nein, das tut sie nicht!

Ich denke, du hast den falschen Ansatz.
In deiner Vorstellung wird durch das Anhängen von "?variable=wert" die Variable geändert.
Dem ist nicht so. Genaugenommen wird nämlich deine Seite neu aufgerufen und die Variable dabei übergeben.
Wenn du also vorher "?lang=engl" übergeben hast und diesmal "?page=home" übergibst wird "lang" einfach nur leer sein.

Mehrere Werte verkettest du mit einem &, das ist richtig.
Einfach bei jedem neuen Wert den du setzen willst ein &:
Code:
http://www.domain.de/main.php?lang=germ&page=home
Gruß!
 
Hi, probier doch mal

PHP:
$url=$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];

echo "<a href=".$url."&var1=inhalt&var2=inhalt>Link</a>";

Wenn du das so machst, steht in $url immer die aktuelle adresse deines skriptes und du kannst die neuen variablen einfach dahinter hängen.

Hoffe das hilft dir weiter

mfg
Daniel
 
@Gumbo Danke für die Info der Wikilink funktioniert grad nicht aber das andere werde ich mir mal durchlesen und so gleich mein Englisch auffrischen :p
 
Zurück