Style Switcher und If Anweisung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Style Switcher und If Anweisung

    Hallo,

    ich habe einen Style Switcher mit PHP um meine Stylesheets zu wechseln. Der Switcher funktioniert Problemlos, jetzt wollte ich aber bestimmte HTML Codeschnibsel mit Hilfe einer If Funktion nur bei einem bestimmten Style ausgeben.

    Meine If Funktion dazu sieht so aus:

    PHP-Code:

    <?php 
    if ($_REQUEST["set"] == "normal"

    echo 
    "nichts"

    else 

    echo 
    "text"

    ?>
    Meine switcher.php sieht so aus:

    PHP-Code:
    <?php 
    $accept 
    = array('normal','different'); 
    if(isset(
    $_REQUEST['set'])) 

    $style trim(strip_tags($_REQUEST['set'])); 

    else if(isset(
    $_POST['set'])) 

    $style trim(strip_tags($_POST['set'])); 

    if(
    in_array($style$accept)) 

    $host $_SERVER[SERVER_NAME]; 
    setcookie('sitestyle'$styletime()+31536000'/',  $_SERVER["SERVER_NAME"], '0'); 

    if(isset(
    $_SERVER['HTTP_REFERER'])) 

    header("Location: "$_SERVER['HTTP_REFERER']);    exit; 

    else 

    header("Location: [url]http://[/url]".$_SERVER["SERVER_NAME"].$_SERVER["SCRIPT_NAME"]); 
    exit; 

    ?>
    Kann mir jemand sagen warum es nicht funktioniert? Meine If Anweisung scheint nicht zu funktionieren, bei jedem Style wird das echo else ausgegeben, obwohl doch bei einer Auswahl nichts ausgeben werden sollte wenn die IF Funktion funktionieren würde.

    Ich will das nur bei dem Stylesheet normal ein bestimmter Codeschnibsel ausgegeben wird von der If Funktion und bei einem anderen soll nichts ausgegeben werden.



  • #2
    Wie lange hast überlegt, bis du entschieden hast, in welches Forum dein Problem paßt?

    Kommentar


    • #3
      Hallo,

      ich wollte dich nicht beleidgen. Ich habe so lange überlegt bis ich mich entscheiden konnte, ca. halbe Minute.

      Tut mir leid ich habe wohl die falsche Kategorie im forum erwischt?

      Bekomme ich aber trotzdem Hilfe.

      Kommentar


      • #4
        Probiers mal mit
        PHP-Code:
        if ($_COOKIE['sitestyle'] == 'normal'
        statt
        PHP-Code:
        if ($_REQUEST['set'] == 'normal'

        Kommentar


        • #5
          Hallo,

          super, vielen Dank es scheint so zu laufen. Da hast du mich ganz glücklich gemacht. Ich bin noch absoluter Anfänger in PHP aber will es nicht unbedingt länger bleiben.

          P.S. wenn ich
          PHP-Code:
          if ($_COOKIE['sitestyle'] == 'normal'
          schreibe, muss ja ein Cookie gesetzt werden. Wenn aber jemand seine Cookies abgeschaltet hat, dann funktioniert es nicht. Auch der Switcher nicht. Weist du vielleicht noch ob es einfach möglich ist den Switcher noch mit einer Sesson Funktion auszustatten, welche immer dann zum Einsatz kommt, wenn Cookies nicht angenommen werden? Und wenn es geht müsste die If Funktion dann auch etwas erweitert werden für die Sesson?


          gruß
          lamoe

          Kommentar


          • #6
            Eine Session bzw. deren ID wird normalerweise aber auch per Cookie übergeben. Wenn Cookies nicht akzeptiert werden, kann man die Session-ID zwar an die URL anhängen (GET-Parameter), aber da du nur einen Wert weitergeben willst und das genau dann, wenn Cookies tatsächlich nicht akzeptiert werden, kannst du diesen Wert auch direkt - ohne Session - als GET-Paratemer übergeben.

            Einfach an alle Links auf deiner Seite, die nicht von deinen Seiten wegzeigen, ein "?sitestyle=normal" anhängen (bzw. andere Styles) und in den Scripten mit $_GET['sitestyle'] statt $_COOKIE['sitestyle'] darauf zugreifen.

            Kommentar


            • #7
              Hallo,

              gut, ich danke dir nochmal recht herzlich für deine Hilfe.

              Ich kann jetzt endlich weiter arbeiten und schaue was ich noch schaffe.

              gruß
              lamoe

              Kommentar


              • #8
                Das nächste mal einfach vorher klar machen, welchen teil PHP bei deinem Script übernimmt. Dann sollte es eigentlich DEUTLICH sein. Deinen Code brichst du aber demnächst gemäß Regeln um!

                *verschieb* nach PHP

                Kommentar

                Lädt...
                X