Cookie-Problem: Auslesen klappt nicht?!

altox-de

Erfahrenes Mitglied
Hallo zusammen,
jetzt nerve ich damit schon wieder,
aber leider klappt es nicht wie ich es gerne hätte:

Ich setze auf einer Eingangsseite, die zur Hauptseite weiterleitet mit folgendem Code ein Kekschen:
PHP:
<?php
  setcookie("CCTest", "info@bo.de", time()+3600000);
?>

Auf der Impressum-Seite der Page lese ich das Cookie dann aus:
PHP:
	<?	
    if( $_COOKIE['CCTest'] == "info@pi.de" ) { 
    echo '<font size=3 face=Arial><i>Pi</i></font>'; 
    }
       
    elseif( $_COOKIE['CCTest'] == "info@top.de" ) { 
    echo '<font size=3 face=Arial><i>TOP</i></font>'; 
    }    
    
    if( !isset($_COOKIE['CCTest]) || $_COOKIE['CCTest'] == '' ) {
    echo '<font size=3 face=Arial>Super</font>'; 
    }
?>

Wieso geht das nicht?
Bitte helfen!

Es erscheint immer nur "Super", also der "Ausweichsinhalt",
der nur erscheinen soll, soltle KEIN Cookie existieren...


Im Cookie (claudi@kunden[1]) steht:
CCTest
info%40bo.de
http://www.abc.de./kunden/
1536
351595136
29815209
768720208
29806827
*
 
Das Super erscheint, weil deine oberen Abfragen nicht entsprechend übereinstimmen.

if () - elseif() ... endet mit einer else() Anweisung.
PHP:
<?php
  setcookie("CCTest", "info@bo.de", time()+3600);
    
    if( $_COOKIE['CCTest'] == "info@pi.de" ) 
       { 
        echo '<font size=3 face=Arial><i>Pi</i></font>'; 
       }
       
    elseif( $_COOKIE['CCTest'] == "info@top.de" ) 
       { 
        echo '<font size=3 face=Arial><i>TOP</i></font>'; 
       }  
// --- Hier die else() Anweisung 
else
     {  
       echo $_COOKIE[CCTest].' - das ist Cookie-Inhalt';
     } 

    if( !isset($_COOKIE['CCTest']) || $_COOKIE['CCTest'] == '' ) {
    echo '<font size=3 face=Arial>Super</font>'; 
    }
?>
 
Vielleicht hilft dir das ein wenig weiter, Da ich keine Ahnung was du vor hast ...
PHP:
<?php
  setcookie('CCTest', 'info@bo.de', time()+3600);
  
  $inhalt_cookie = $_COOKIE[CCTest];
  
  if (isset($_COOKIE[CCTest])) {
  
     switch ($inhalt_cookie) {
  
     case 'info@pi.de' : echo '<font size="3"><i>Pi</i></font>'; 
break;
     case 'info@top.de': echo '<font size="3"><i>TOP</i></font>';
break;
     case 'info@bo.de' : echo '<font size="3"><i>... Das ist identisch mit dem Cookieinhalt</i></font>';
break;

     default: echo 'Keine Übereinstimmung gefunden. (Cookie - Inhalt: '.$_COOKIE[CCTest].')';
  
                           }
                  }
    else
         {
           echo 'Es ist kein Cookie vorhanden.';
         }
?>
 
Ein Cookie kann nicht gleich nach dem Setzen wieder ausgelesen werden, dazwischen muss ein Reload erfolgen.
Der Grund dafuer ist folgender: Der Cookie wird mit dem Header an den Browser uebertragen, dieser entscheidet dann ob er diesen annehmen will oder nicht. Wird er angenommen werden die Cookie-Daten bei der naechsten Uebertragung um Request mituebertragen, ansonsten eben nicht.
 
Das weiß ich, aber ich schreibe und öffne das Cookie ja auch gar nicht auf der selben Seite... das ist ja klar, dass das dann nicht geht.

Aber es erscheint jetzt immer "Kein Cookie vorhanden" - OBWOHL es ja gespeichert wurde
 
Zurück