tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
236
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    indien indien ist offline Grünschnabel
    Registriert seit
    Sep 2004
    Beiträge
    2
    Liebe helfende Mitglieder,
    Leider arbeite ich noch nicht lange mit PHP, und verstehe somit somanches nicht.
    Versuche ein Cookie zu setzten welches wenn man auf einen von 3 bestimmten Links klickt entweder 1, 2 oder 3 setzt. Leider schaffe ich das nicht.
    Hier der Code:

    <?php
    //Cookie mit dem Namen Style und der Variable $wert wird gesetzt:
    setcookie('style', $wert);
    //je nach $wert im Cookie soll eines der 3 StyleSheets aufgerufen werden:
    if($_COOKIE[$style]== "1") {echo "<link rel=\"StyleSheet\" type=\"text/css\" href=\"css/ff_screen.css\">";}
    else if($_COOKIE[$style]== "2") {echo "<link rel=\"StyleSheet\" type=\"text/css\" href=\"css/ff_screen_groesser.css\">";}
    else if($_COOKIE[$style]== "3") {echo "<link rel=\"StyleSheet\" type=\"text/css\" href=\"css/ff_screen_gross.css\">";}
    else {echo "<link rel=\"StyleSheet\" type=\"text/css\" href=\"css/ff_screen.css\">";}
    ?>
    //Hier wird der $wert gesetzt:
    <a href="<?php echo basename($PHP_SELF)."?wert=1; ?>"><span class="Stil1">A</span></a>
    <a href="<?php echo basename($PHP_SELF)."?wert=2; ?>"><span class="Stil2">A</span></a>
    <a href="<?php echo basename($PHP_SELF)."?wert=3; ?>"><span class="Stil3">A</span></a>

    PS: Danke im Voraus für eure Hilfe

    Lg. INDIEN
     

  2. #2
    Registriert seit
    Nov 2002
    Beiträge
    231
    Hi,

    setcookie() erwartet als 3. Parameter einen Zeipunkt, an dem das Cookie verfällt.
    Gibst du nichts an, verfällt es sofort.
    PHP-Code:
    setcookie('style'$werttime() + 60*60*24*30); 
    In diesem Beispiel, würde das Cookie erst nach 30 Tagen verfallen.

    Achja, ich würde statt $PHP_SELF, $_SERVER['PHP_SELF']; verwenden.

    mfg

    Devil
     

  3. #3
    Avatar von Sven Petruschke
    Sven Petruschke Sven Petruschke ist offline Mitglied Diamant
    Registriert seit
    May 2003
    Ort
    Leipzig
    Beiträge
    2.323
    setcookie() erwartet als 3. Parameter einen Zeipunkt, an dem das Cookie verfällt. Gibst du nichts an, verfällt es sofor
    Schnickschnack - wird der dritte Parameter nicht angegeben, verfällt das Cookie beim Schließen des Browsers. Also ist solange das Cookie vorhanden.

    Ich vermute eher, dass der via GET übergebene Wert nicht in das Cookie geschrieben wird, weil bekanntermaßen register_globals deaktiviert ist. Also muss auf den Wert wiefolgt zugegriffen werden: $_GET['wert']

    snuu
     
    Das Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
    www.sven-petruschke.de

  4. #4
    indien indien ist offline Grünschnabel
    Registriert seit
    Sep 2004
    Beiträge
    2
    Lieber "Devil";

    Vielen Dank für deine schnelle Hilfe. Die Zeit habe ich hinzugefügt und trotzdem funkte es nicht.
    Nun hab ich
    <?php if(isset($wert)){ setcookie('style', $wert, time()+(60*60));}?>
    nach dem setzten gefragt, seitdem funkt es.

    Warum das ohne isset nicht funktionierte weis ich nicht, aber hauptsache jetzt funkts.

    LG. INDIEN
     

  5. #5
    Registriert seit
    Nov 2002
    Beiträge
    231
    Original geschrieben von snuu
    Schnickschnack - wird der dritte Parameter nicht angegeben, verfällt das Cookie beim Schließen des Browsers. Also ist solange das Cookie vorhanden.
    Stimmt, sowas passiert mir eigentlich selten, aber danke für den Hinweis!

    Devil
     

Ähnliche Themen

  1. Kann Cookie nicht setzten
    Von Ninjasturm im Forum PHP
    Antworten: 11
    Letzter Beitrag: 31.07.10, 01:19
  2. Antworten: 6
    Letzter Beitrag: 05.07.09, 13:49
  3. Antworten: 2
    Letzter Beitrag: 05.04.07, 14:08
  4. Fokus setzten geht nicht
    Von metno im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 13.12.06, 15:18
  5. Cookie Abfrage funktioniert nicht
    Von Sweetlover im Forum PHP
    Antworten: 2
    Letzter Beitrag: 22.05.04, 14:03