Marcus Hammel: Links dynamisch erweitern um einen variablen Zusatz

Hi,

Ich habe für meine Seite verschiedene CSS-Stile hergestellt im Schema:
styles_0.css, styles_1.css etc.
Per default ist immer styles.css eingebunden und ich gebe über einen Link immer zufällig bei jedem Besuch einen anderen zusätzlichen Stil zur Auswahl per
<a rel="CSS-Wechsel" href="?cssfile=styles_<?php
srand ((double)microtime()*1000000);
$zahl= rand(1,5);
echo $zahl;
?>

Soweit so gut.
Nun klickt ein Besucher auf entsprechenden Link(zufällig stil1) und ist nun auf der Seite
http://www.domain.com/htmldatei.html?cssfile=styles_1.css

Mein Ziel ist es nun, dass jeder "normale" Link dann jeweils so modifiziert wird, dass an den Link ?cssfile=styles_.css angefügt wird mit der Zahl die gerade auch besucht wird.

Sprich hat die Person gerade Stil1, dann kommt an den Link auch die 1 am Ende, bei der 2 die 2 etc.

Wie würde sich das konzeptionell lösen lassen?

MfG,
Marcus

  1. Hi Marcus,

    dafür wären Sessions der idealere Weg.

    Einfach zu Beginn eine Session eröffnen, per Zufall ein Style
    bestimmen lassen und diesen in die Session schreiben. Bei allen
    folgenden Seiten den Style aus der Session wieder herauslesen.

  2. Hi Marcus,

    Mein Ziel ist es nun, dass jeder "normale" Link dann jeweils so modifiziert wird, dass an den Link ?cssfile=styles_.css angefügt wird mit der Zahl die gerade auch besucht wird.

    Wie würde sich das konzeptionell lösen lassen?

    Hm, du nutzt anscheinend ja PHP. PHP kennt die Möglichkeit, an alle Links direkt eine Session ID anzuhängen. Möglicherweise gibt es da vielleicht eine Schnittstelle, die du nutzen kannst - ich fürchte allerdings, das wird nicht gehen.

    So würden mir jetzt spontan zwei Methoden einfallen:

    1. Du speicherst die Information über das gewählte Layout entweder in einer Session auf dem Server oder in einem Cookie beim Clienten und liest die Information auf der nächsten Seite wieder aus.

    2. Du arbeitest mit dem Ausgabepuffer (s.a. ob_start()), dann könntest du den Puffer in eine Variable ziehen, sämtliche Links entsprechend modifizieren und das ganze noch mal neu ausgeben. Ist aber irgendwie etwas unsauber finde ich.

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
    „Papa, da sammelt einer für das neue Schwimmbad.” - „Na dann, gib ihm einen Eimer Wasser.”
  3. Hi,

    Wie würde sich das konzeptionell lösen lassen?

    Gehe mit JavaScript einfach die Link-Collection durch (document.links) und ändere nach belieben.

    Ganz allgemein würde ich ggf. für ein solches Goodie JS vorziehen - ist ja eine nicht notwendige Spielerei. Dann könnte man ohnehin auf eine Erweiterung der URLs verzichten.

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!