Fabian St.: Cookie Überprüfung funktioniert nicht :/

Beitrag lesen

Hi!

Wo liegt nun dein Problem?

Cookie wird gesetzt ...
dennoch werde ich auf den unteren Link weitergeleitet :/

Das ist doch schon mal was ;-) Also hier noch mal dein Skript:

  
  
<?php  
error_reporting(E_ALL);  
    // das Cookie heißt also 'soc_test'  
    setcookie("soc_test", "testwert", time()+(300));  
  
    // warum überprüfst du hier aber dann die Existenz des Cookies mit dem Namen 'testcookie'?  
    // richtig wäre also if(isset($_COOKIE['soc_test'])) { .... }  
    if(isset($_COOKIE['testcookie'])) {  
        // s.u.  
        header('Location: start.php');  
        exit();  
    } else {  
        // s.u.  
        header('Location: nocookies.htm');  
        exit();  
    }  
?>  
  

Darüber hinaus muss auf einen Location-Header eine absolute URI folgen, d.h. z.B. header(Location: 'http://'.$_SERVER['HTTP_HOST'].'/start.php');.

Außerdem wird das ganze so nicht funktionieren, da ein Cookie erst im nächsten Request-Header wieder an den Server geschickt wird, sodass erst dann die Überprüfung TRUE ergibt, s.a. http://de.php.net/setcookie:

"Once the cookies have been set, they can be accessed on the __next page load__ with the $_COOKIE or $HTTP_COOKIE_VARS arrays."

Grüße,
Fabian St.