asdf: styleswitcher möglichkeit ohne cookie - vgl SessionGet

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ß

  1. 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

    --
    Teiltransparente Bereiche
    selfcode: sh:| br:> ie:% mo:) va:) de:] zu:) fl:( ss:| ls:[
    um-fritz.de
    1. 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ß

      1. 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:

        • Per Javaskript: 'window.name' Eigenschaft -> abhängig von JS
        • per URL: Als GET-Parameter anhängen
        • per Keks: einen Cookie setzen

        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

        --
        Teiltransparente Bereiche
        selfcode: sh:| br:> ie:% mo:) va:) de:] zu:) fl:( ss:| ls:[
        um-fritz.de
        1. 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ß

          1. 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

            --
            Teiltransparente Bereiche
            selfcode: sh:| br:> ie:% mo:) va:) de:] zu:) fl:( ss:| ls:[
            um-fritz.de
            1. 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ß

              1. 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

                --
                Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
                (Victor Hugo)
                <dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
                Veranstaltungsdatenbank Vdb 0.1
    2. 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

      --
      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"!
      1. 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

        --
        Teiltransparente Bereiche
        selfcode: sh:| br:> ie:% mo:) va:) de:] zu:) fl:( ss:| ls:[
        um-fritz.de
        1. 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

          --
          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"!