HTML/PHP: Cookies bzw. Get-Variablen.

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

HTML/PHP: Cookies bzw. Get-Variablen.

Beitrag von Vermilion »

Moin, ich bin gerade dabei, mir PHP anzueignen, und eine neue Version meiner Homepage ist mein erstes PHP Projekt. Nun will ich halt folgendes "Features" einbauen:

3 Variablen; eine bestimmt den aktuellen Seiteninhalt, eine den Style, und die letzte (ob die eingebaut wird, ist fraglich) die Sprache. Das alles ist eigentlich kein Problem.

Das Problem besteht darin, dass ich das hinkriegen will, dass die Werte der Variablen beim draufklicken auf einen Link, der auf das gerade geöffnete Dokument verweist (also auf sich selbst eigentlich, zum neu laden der Seite mit den neuen Variablenwerten), verändert werden. Ich habe mich schon rund gelesen, aber ich sehe keine Antwort in der Kristallkugel...

Beispiel: Ich habe oben "Wähle ein Design: Default / Black Glass", "Default "und "Black Glass" sind standardmäßige Hyperlinks (<a href="nirwana.php">Nirwana</a>), wenn der Betrachter diese Links anklickt, soll die Seite neu geladen werden (das mache ich, in dem einfach auf sich selbst verwiesen wird), jedoch sollen vorher die Werte der Variable für den Designpfad geändert werden.
Also soll dann die Get-Variable mit ihrem Wert an die URL angehängt werden. Nur irgendwie geht das nicht, kann das sein? :freak:
Ich könnte das ja wieder so machen, dass ich den Link einfach so aussehen lasse:

Code: Alles auswählen

<a href="index.php?page=software">Software</a>
Aber das wäre ja nicht so elegant. Denn wenn ich mit der Zeit neue Variablen einbaue, muss ich auch die Links anpassen, mit allen Variablen in der Hyperreference angepasst.

Ich würde Get-Variablen vor Cookies bevorzugen, da diese ja wohl wahrscheinlicher "funktionieren" (kann ja sein, dass der Betrachter Cookies deaktiviert hat).

Das alles ist übrigens ohne irgendein Log-In Kram. Das muss so ja auch gehen. Jedenfalls habe ich sowas schon öfters gesehen im Verlaufe der Zeit. Zum Beispiel bei der MSN Startseite... aber das war glaube ich eher mit JavaScript (was ich gänzlich vermeiden möchte, erstmal) realisiert.

Nun wie immer die Kernfrage: Wie kriege ich das hin? :freak:
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: HTML/PHP: Cookies bzw. Get-Variablen.

Beitrag von edel »

Vermilion hat geschrieben:

Code: Alles auswählen

<a href="index.php?page=software">Software</a>
Aber das wäre ja nicht so elegant. Denn wenn ich mit der Zeit neue Variablen einbaue, muss ich auch die Links anpassen, mit allen Variablen in der Hyperreference angepasst.
Dir ist aber schon klar das du mit PHP dynamische Webseiten
generieren lassen kannst ?
Benutzeravatar
Deluxe0321
Beiträge: 336
Registriert: 19.05.2006 00:31
Kontaktdaten:

Beitrag von Deluxe0321 »

hmm.. Ich würde das ganze z.B. über Sessions lösen.
Schau mal hier:
http://php-einfach.de/php-tutorial/php-sessions.php

Vll gibt es noch einen besseren Weg, aber ich denke dieser wäre der unaufwendigste. Du übergibst die Variable, bzw. CSS-Datei einmal als Post, speicherst diese samt der IP als Session und rufst diese bei jedem Scriptdurchlauf ab.

Cookies könnten auch funktionieren, obwohl ich das persönlich hasse & du auf Probleme stoßen könntest, denn es gibt einige (wie mich) die nur für bestimmte Seiten Cookies zulassen ^^.

Als letztes kannst du wirklich deine get methode nehmen. Bau deine Links halt relativ Dynamisch auf.

Gruß Marvin
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Hi,

ich versteh dein Problem nicht ganz...

Du willst die drei Sachen in Variabeln packen?
Kein Problem nim GET Variabeln, wie in deinem Beispiel...

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

ich weis nicht ob ich das richtig verstanden habe aber hier meine Idee:

Du legst dir zuerst deine verschiedenen *.CSS Style Dateien an.

auf deiner Website (index.php) würde dann folgende Zeilen stehen:

Code: Alles auswählen

echo '
<head>
 ...
 <link rel="stylesheet" type="text/css" href="'.$_GET['Style'].'.css">
 ...
</head>';
Damit wird die HTML Seite je nach wunsch mit dem angegebenen Style versehen.

Du solltest aber noch abfragen ob es die Style Datei auch gibt, sonst könnte es probleme geben.

Nun kannst du Links einbauen die dann die Aktuelle Seite ändern:

Code: Alles auswählen

<a href="index.php?Style=normal">Normaler Style</a>
<a href="index.php?Style=black">Schwarzer Style</a>
Zuletzt geändert von STARGÅTE am 28.12.2007 20:23, insgesamt 1-mal geändert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag von Vermilion »

edel hat geschrieben:Dir ist aber schon klar das du mit PHP dynamische Webseiten
generieren lassen kannst ?
Ach was! :mrgreen:

Ich versteh aber trotzdem nicht, worauf du hinaus willst... :freak:

Deluxe0321: Danke, ich werde es mir genauer anschauen. Ich bin nämlich am Quake.net PHP Tutorial (sehr empfehlenswert), und da habe ich Sessions nur überflogen, und es als etwas dafür nicht brauchbares abgestempelt... habe mich wohl geirrt. <)

--------------------------

An alle anderen: Das Problem war, wie setze ich die Get-Variablen, wenn auf einen Hyperlink geklickt wird?

--------------------------

*Panik* Moment mal, aber ich bin trotzdem noch dahinter gekommen, wie ich nach dem Prinzip Aktion (Anklicken eines Hyperlinkes) - Reaktion (Verändern einer Session Variable) vorgehe.
Ablauf:

1. Seite wird geladen.
2. Seite ist fertig geladen, Benutzer klickt auf Hyperlink ("<a href=""></a>")
3. Variable wird verändert
4. Seite wird neu aufgerufen (und entsprechend anders sieht sie aus, dadurch, dass die Variable verändert wurde)

Geht das? Weil eigentlich ist eine HTML Seite ja statisch... letztendlich müsste ich dann ja immer Formulare benutzen... och nöö... -.-° ...das will ich aber auch nicht

In den Tutorials und so steht da nichts zu drin. :freak:
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Hi,

also vergiss die Sessions die brauchst du für dein Problem nicht....

Schau dir das Beispiel von Stargate an!

Du kannst die GET Variabeln direkt in den Hyperlink setzten und dann mit PHP später wieder auslesen...

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag von Vermilion »

Auf jeden Fall brauche ich Variablen, ob Session oder Get.

Die Methode von Stargate ist halt nicht ganz so flexibel, denn wenn ich jetzt alles fertig habe, und doch noch denke, oh, ich will noch eine Variable für etwas anderes einbauen, muss ich in all den Links die Variable mit ihrem Wert nochmal hinzufügen.
Und mein Prinzip wäre, dass er gleich alle Variablen halt automatisch mit ihrem Werten an den Link dran hängt. Sozusagen. Aber wenn mein Aktion-Reaktion Prinzip nicht geht, dann muss ich doch Stargates Methode nehmen.
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Nein musst du nicht, du erzeugst die Links einfach dynamisch mit php.
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag von Vermilion »

Boah edel, jetzt Spanne mich nicht so auf die Folter... meinst du, ich sollte das ganze Variablen Array inklusive Werte runterrattern?

Edit: Ne, halt, das wäre ja auch nicht ganz richtig... die Werte des Links sollen ja anders sein, als sie in Wirklichkeit derzeit sind.
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Antworten