Style Switcher und If Anweisung

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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?

    Comment


    • #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.

      Comment


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

        Comment


        • #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

          Comment


          • #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.

            Comment


            • #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

              Comment


              • #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

                Comment

                Working...
                X