Ergebnis 1 bis 5 von 5

Thema: Parameter überschreiben

  1. #1
    Großmeister(in) Avatar von MyXoToD
    Registriert seit
    07.11.2007
    Ort
    Mainz
    Alter
    24
    Beiträge
    507
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard Parameter überschreiben

    Hab zur Zeit folgendes Problem... Mit folgendem Script generiert ich die URL für 4 Links:

    PHP-Code:
    <?php
    if ($_SERVER['REQUEST_URI'] == "/" && empty($_SERVER['QUERY_STRING'])) {
        
    $url "/index.php?";
    } elseif (!empty(
    $_SERVER['QUERY_STRING'])) {
        
    $url $_SERVER['REQUEST_URI']."&";
    }
    ?>
    <div id="color_switch">
        <a href="<?php echo $url?>cl=green"><img src="templates/myxotod_default/images/dot_green.png" alt="" title="Grün" /></a>
        <a href="<?php echo $url?>cl=red"><img src="templates/myxotod_default/images/dot_red.png" alt="" title="Rot" /></a>
        <a href="<?php echo $url?>cl=purple"><img src="templates/myxotod_default/images/dot_purple.png" alt="" title="Lila" /></a>
        <a href="<?php echo $url?>cl=blue"><img src="templates/myxotod_default/images/dot_blue.png" alt="" title="Blau" /></a>
    </div>
    Wenn ich jetzt den Fall vom elseif hab und schon der cl Parameter in der URL ist (/index.php?p=startseite&cl=green), kann cih diesen dann einfach beim Klick auf einen der 4 Links überschreiben? Weil zur Zeit ist es so, dass wenn ich mich nach und nach durch die Links klicke, die URL dann so aussieht: /index.php?startseite&cl=green&cl=red&cl=blue...
    Also was ich genau will ist, dass immer nur ein "cl" Parameter angezeigt wird. Die alten "cl" Paramenter sind ja nämlich unwichtig sobald ein neuer gesetzt wird.

    Ich steh grad etwas auf dem Schlauch, ich bin mir sicher das es nicht viel Code bedarf aber ich komm grad einfach nciht drauf

    Danke im voraus
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Don't follow me, I run into walls.

  2. #2
    König(in) Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Parameter überschreiben

    Wieso packst du das ganze nicht in einen Cookie, z.B. so (ungetestet)
    PHP-Code:
    <?php
    $url 
    "/index.php";
    // Diese IF Abfrage muss natürlich ganz nach oben, da sie unter Umständen den Header verändert (Cookie setzt)
    $design '';
    if (isset(
    $_GET['cl']))
    {
        if (
    in_array($_GET['cl'], array('green''red''purple''blue'))
        {
            
    $design $_GET['cl'];
            
    setcookie('cl'$_GET['cl'], time()+60*60*24*30);
        }
    }
    else
    {
        if (isset(
    $_COOKIE['cl']) && !empty($_COOKIE['cl']))
        {
            
    $design $_COOKIE['cl'];
        }
    }
    ?>
    <div id="color_switch">
        <a href="<?php echo $url?>?cl=green"><img src="templates/myxotod_default/images/dot_green.png" alt="" title="Grün" /></a>
        <a href="<?php echo $url?>?cl=red"><img src="templates/myxotod_default/images/dot_red.png" alt="" title="Rot" /></a>
        <a href="<?php echo $url?>?cl=purple"><img src="templates/myxotod_default/images/dot_purple.png" alt="" title="Lila" /></a>
        <a href="<?php echo $url?>?cl=blue"><img src="templates/myxotod_default/images/dot_blue.png" alt="" title="Blau" /></a>
    </div>

    <?php
    if ($design == "green")
    {
         echo 
    'its green man';

    }
    ?>
    Geändert von crAzywuLf (02.06.2010 um 11:32 Uhr)
    Gruß crAzywuLf

  3. #3
    Großmeister(in)
    Themenstarter
    Avatar von MyXoToD
    Registriert seit
    07.11.2007
    Ort
    Mainz
    Alter
    24
    Beiträge
    507
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard AW: Parameter überschreiben

    Falls ein Template gewählt ist, steht das ganze schon in einem Cookie
    Das wird in einer anderen Datei gereglt. Das funktioniert ja auch alles. Ich will halt nur, dass, falls gesetzt, der alte cl parameter überschrieben wird in der url und sich nicht ne mega lang url ansammelt.
    Don't follow me, I run into walls.

  4. #4
    König(in) Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Parameter überschreiben

    hmm... vielleicht so?
    PHP-Code:
    <?php
    $url 
    "/index.php";
    function 
    build_url($params = array())
    {
        global 
    $url;
        
    $new_params $_GET;
        foreach (
    $params as $param => $value) { $new_params[$param] = $value; }
        
    $_querystring = array();
        foreach (
    $new_params as $param => $value) { $_querystring[] = $param '=' $value; }
        return 
    $url . (!empty($new_params) ? '?' implode("&amp;"$_querystring) : '');
    }

    ?>
    <div id="color_switch">
        <a href="<?php echo build_url(array ('cl' => 'green')); ?>"><img src="templates/myxotod_default/images/dot_green.png" alt="" title="Grün" /></a>
        <a href="<?php echo build_url(array ('cl' => 'red')); ?>"><img src="templates/myxotod_default/images/dot_red.png" alt="" title="Rot" /></a>
        <a href="<?php echo build_url(array ('cl' => 'purple')); ?>"><img src="templates/myxotod_default/images/dot_purple.png" alt="" title="Lila" /></a>
        <a href="<?php echo build_url(array ('cl' => 'blue')); ?>"><img src="templates/myxotod_default/images/dot_blue.png" alt="" title="Blau" /></a>
    </div>
    EDIT:
    So es geht jetzt^^
    Geändert von crAzywuLf (02.06.2010 um 11:52 Uhr)
    Gruß crAzywuLf

  5. #5
    Großmeister(in)
    Themenstarter
    Avatar von MyXoToD
    Registriert seit
    07.11.2007
    Ort
    Mainz
    Alter
    24
    Beiträge
    507
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard AW: Parameter überschreiben

    Außer das du hier ne Klammer vergessen hattest, klappt das super! Hat genau den Effekt den ich erreichen wollte:
    PHP-Code:
    <?php echo build_url(array ('cl' => 'green'); ?>
    Nach 'green') fehlt noch eine zweite klammer.

    Vielen dank
    Don't follow me, I run into walls.

Ähnliche Themen

  1. systemdatei im laufenden betrieb überschreiben
    Von thilda im Forum Computer - Internet Forum
    Antworten: 3
    Letzter Beitrag: 19.08.2009, 12:22
  2. Applet; rechtsklickmenü überschreiben
    Von Unregistriert im Forum Forum für alle anderen Programmiersprachen
    Antworten: 2
    Letzter Beitrag: 13.02.2009, 09:24
  3. Datein ver/entschlüsseln per Parameter / Parameter übergeben
    Von Ericfischer im Forum Forum für alle anderen Programmiersprachen
    Antworten: 1
    Letzter Beitrag: 20.06.2008, 22:54
  4. parameter als verzeichnisse??
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 23.09.2007, 21:30
  5. Link Farbe überschreiben
    Von Chris27 im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 13.05.2005, 16:04

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •