styleswitcher möglichkeit ohne cookie - vgl SessionGet
asdf
- php
Hallo,
zurzeit basiert mein Styleswitcher ausschließlich auf Cookies, nun möchte ich für diejenigen, die keinen Cookie unterstützen auch noch eine Möglichkeit anbieten.
Was bietet sich hier an?
Ich dachte hier daran, bestimmte Sytel-Einstlellungen über die GET-Parameter wenigstens dann für eine Sitzung verwenden zu können ... doch wie hänge ich diesen Parameter am besten an jeden Seiteninternen Link an? Kann ich da irgendiwe die selbe Technik andwenden, die z.B. zum Ahängen der Session-ID verwendet wird? Wenn ja wie geht das?
Oder hat jemand andere Vorshcläge?
Gruß
Moin,
Hallo,
zurzeit basiert mein Styleswitcher ausschließlich auf Cookies, nun möchte ich für diejenigen, die keinen Cookie unterstützen auch noch eine Möglichkeit anbieten.
Was bietet sich hier an?
Eine Lösung, die beiden Möglichkeiten Rechnung trägt.
Ich dachte hier daran, bestimmte Sytel-Einstlellungen über die GET-Parameter wenigstens dann für eine Sitzung verwenden zu können ... doch wie hänge ich diesen Parameter am besten an jeden Seiteninternen Link an? Kann ich da irgendiwe die selbe Technik andwenden, die z.B. zum Ahängen der Session-ID verwendet wird? Wenn ja wie geht das?
Ich habe eine Lösung dazu mal hier aufgeschrieben. Vielleicht hilft Dir das weiter. Werden Kekse angenommen, wird auch beim nächsten Seitenaufruf das voher gewählte Stylesheet eingebunden. Wenn nicht, so wird dieses wenigstens während der aktuellen Sitzung durch GET Parameter weitergegeben.
mit freundlichen Grüßen
Ulrich
Hallo,
vielen Dank!
An die Idee mit GET-Paramezer hatte ich auch shcon gedacht, aber kann ich diesen GET-Üarameter irgendwie einfacher/kofortabler an jeden Link anhängen? So wie es PHP auch automatisch mit der Session-Id macht?
Gibt's da eine Möglichkeit?
Gruß
Moin,
Erstmal gern geschehen.
An die Idee mit GET-Paramezer hatte ich auch shcon gedacht, aber kann ich diesen GET-Üarameter irgendwie einfacher/kofortabler an jeden Link anhängen? So wie es PHP auch automatisch mit der Session-Id macht?
Gibt's da eine Möglichkeit?
Irgendwie musst Du die Auswahl an die nächste Seite übermitteln. Prinzipiell ginge das sicher auch über eine Session. Nur in dem Fall: wozu?
Aus dem Stegreif kenne ich nur 3 Arten Daten an die nächste Seite zu übermitteln:
Erstere Möglichkeit ist eigentlich nur innerhalb von JS-Skripten interessant, da es nur mit JS funktioniert.
Ob man für einen Styleswitcher gleich eine Session starten muss, nun mMn wäre das ein wenig mit Kanonen auf Spatzen geschossen. Irgendwie müssen die Sessiondaten ja auch übertragen werden. Wie denn, wenn nicht per URL->GET Parameter oder als Sessionkeks?
GET ist praktikabel, aber nicht über die Sitzung hinaus zu benutzen
Cookie, wunderbar wenn er gespeichert wird. Wenn nicht dann bleibt GET als fallback.
Ich verstehe Dein Problem nicht. Das Skript generiert den GET string doch automatisch. Was genau willst Du denn erreichen?
mit freundlichen Grüßen
Ulrich
Hallo,
ja aber diesen GET-String müsste ich an jeden Link anhängen, da meine Links aber nicht alle über php ausgegeben werden, kann ich also nicht ohne weiteres den GET-Parameter anhängen.
Mir geht es nur darum, wie ich diesen Parameter am besten an die Links angehängt kriege. Als Beispiel viel mir da ein, wie es php denn macht, wenn es automatisch die Session-ID als GET-Parameter anhängt.
Gruß
Moin,
Ich glaube wir reden aneinander vorbei. Der Styleswitcher basiert auf PHP, also muss ja auch zwingend ein Skript laufen.
Also notierst Du einfach die Links nach dem Schema:
<a href="/foo.php?style=<?php echo $_GET['style']?>" title="foo">Foo</a>
Was mehr willst Du denn machen?
mit freundlichen Grüßen
Ulrich
Hallo,
nein wir reden nicht aneinander vorbei, ich suche nur nach einer Möglichkeit, den GET-Parameter ohne diesen extra jedesmal einzeln anzuhängen an die Links zu hängen.
Ich möchte einen Link ganz normal notieren und wenn der GET-Parameter für den STyle nötig ist, da der Cookie nicht funktioniert, dann möchte ich den Parameter an alle Links anhängen.
So ähnlich wie es automatisch geschieht, wenn PHP keine Session Cookie setzen kann...
Ich suche praktisch nach einer komfortableren Lösung wie jedesmal einzeln mit PHP den Parameter anzuhängen.
Gruß
Hallo
Ich suche praktisch nach einer komfortableren Lösung wie jedesmal einzeln mit PHP den Parameter anzuhängen.
Schicke die fertige HTML-Seite durch eine Funktion, die href-Attribute erkennt und ihnen den Parameter hinzufügt.
Tschö, Auge
Hi,
Ich habe eine Lösung dazu mal hier aufgeschrieben.
Nette Site! Kaum zu glauben, daß Du das hobbymäßig machst! :-)
Generelle Anmerkung zum Script: Niemals User-Daten ungefiltert ausgeben, da sie manipuliert sein können! PHP_SELF sind User-Daten! PHP_SELF ist hier gar nicht notwendig! Ergo: Leeres ACTION-Attribut und gut ist ... ;-)
Gruß, Cybaer
Moin Cybaer,
Nette Site! Kaum zu glauben, daß Du das hobbymäßig machst! :-)
Wow! In Anbetracht Deiner sowohl zahlreichen (das alleine heißt ja noch nichts), sondern vielmehr durch Fachkompetenz bestechenden Beiträge in diesem Forum geht das mal direkt 'runter wie Öl. Das Lob aus Deinem Mund schätze ich sehr hoch ein, weil ich auch weiß, das es nicht leicht zu bekommen ist.
Auf der anderen Seite darfst Du das Lob gerne auf Dich zurück spiegeln, denn nicht zuletzt auch durch Deine Beiträge (und alle anderen Formsteilnehmernatürlich auch) habe ich sehr viel lernen dürfen. Dafür an dieser Stelle an Euch alle ein herzliches "Danke schön!"
Ich versuche aber nach Möglichkeit auch, meine Zeit nicht mit Halbheiten zu verschwenden.
Das Schöne/Schreckliche als "Netzmeister" ist wohl die Tatsache, das man immer etwas zu tun findet. Auch wenn der Besucher das nicht sieht, stelle ich aktuell die meisten Skripte auf PHP5->OOP um. Diverse Grafiken wollen überarbeitet sein und ich will den IE 7 aus dem Quirksmodus holen, was eine Notlösung war.
Mit seinem Neuerscheinen hat er doch bei mir für einige Verwirrung gesorgt (Aber ich weiß, da war ich nicht alleine). Der IE6 war wenigstens konsequent anders ;)
Für IE<6 plane ich keine weitere Unterstützung. Ich schreibe auch auf Papier und meißel nicht mehr in Marmor. Der Fortschritt schreitet eben fort...
Generelle Anmerkung zum Script: Niemals User-Daten ungefiltert ausgeben, da sie manipuliert sein können! PHP_SELF sind User-Daten! PHP_SELF ist hier gar nicht notwendig! Ergo: Leeres ACTION-Attribut und gut ist ... ;-)
Danke für den Hinweis. Mir ist nur nicht klar, wieso PHP_SELF als Userdate gelten soll?. Ich dachte die $_SERVER Variablen kommen vom Server? Wie kann man das denn manipulieren?
Im Moment überarbeite ich wie gesagt das gesamte Projekt. Das werde ich aber genauer eruieren und ggf. mit einfliessen lassen. Wäre aber nett, wenn Du mich dies bezüglich schlauer machst.
mit freundlichen Grüßen
Ulrich
Hi,
Das Lob aus Deinem Mund schätze ich sehr hoch ein, weil ich auch weiß, das es nicht leicht zu bekommen ist.
Professionelle Webgestalter kriegen von mir auch eher Haue - die coden leider oft nicht so kompatibles HTML/CSS ...
Das Schöne/Schreckliche als "Netzmeister" ist wohl die Tatsache, das man immer etwas zu tun findet.
Wohl wahr, wohl wahr. Die Kunst ist es aber natürlich, zum passenden Zeitpunkt auch mal "Fünfe gerade" sein zu lassen ... ;-)
... sagt mein Chef sinngemäß immer, wenn ich kein Ende finden kann ... >;->
Danke für den Hinweis. Mir ist nur nicht klar, wieso PHP_SELF als Userdate gelten soll?. Ich dachte die $_SERVER Variablen kommen vom Server? Wie kann man das denn manipulieren?
Der Server muß sie sich ja auch irgendwoher holen. Und als Quelle dienen dabei eben auch Daten, die vom User kommen (logisch, denn er sendet ja scließlich den Request ;-)). Denke nur an HTTP_REFERER, oder, ganz tückisch, SERVER_NAME und HTTP_HOST: üblicherweise sind beide identisch, aber SN kommt vom Server, HH vom User (solltest Du also auch korrigieren).
Was PHP_SELF angeht: http://example.org/script.php/irgendwas oder http://example.org/script.php?irgendwas
Aber das betrifft ja nicht nur PHP_SELF. Du gibst ja auch $css_name jedesmal ungefiltert aus. Nutze also bei Bildschirmausgaben von unbekannten Daten immer htmlentities()! Und im Fall des "Switch-Links" kommt noch hinzu, daß URL-Parameter escaped werden sollen.
Gruß, Cybaer