Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Opera mi přestala přijímat cookies z PHP skriptu na localhostu

Ahoj, Opera 9.63 mi přestala přijímat cookies z tohoto PHP skriptu na localhostu(ComplexWebServer 1.4.13):

SetCookie("test", "test", Time()+3600);
echo $_COOKIE['test'];

V IE7 i ve FF3 vše bez problému funguje. Cookies mám povoleny (Přijímat všechny cookies), všechny cookies z localhostu jsem zkoušel promazat, nic. Díky za odpovědi.

PS: WinXP home SP3 :-P

Předmět Autor Datum
Tak se mi to povedlo vyřešit tímto skriptem, který jsem našel na php.net: function createCookie($na… poslední
marekdrtic 01.01.2009 13:15
marekdrtic

Tak se mi to povedlo vyřešit tímto skriptem, který jsem našel na php.net:

function createCookie($name, $value='', $maxage=0, $path='', $domain='', $secure=false, $HTTPOnly=false) 
    { 
        $ob = ini_get('output_buffering'); 

        // Abort the method if headers have already been sent, except when output buffering has been enabled 
        if ( headers_sent() && (bool) $ob === false || strtolower($ob) == 'off' ) 
            return false; 

        if ( !empty($domain) ) 
        { 
            // Fix the domain to accept domains with and without 'www.'. 
            if ( strtolower( substr($domain, 0, 4) ) == 'www.' ) $domain = substr($domain, 4); 
            // Add the dot prefix to ensure compatibility with subdomains 
            if ( substr($domain, 0, 1) != '.' ) $domain = '.'.$domain; 

            // Remove port information. 
            $port = strpos($domain, ':'); 

            if ( $port !== false ) $domain = substr($domain, 0, $port); 
        } 

        // Prevent "headers already sent" error with utf8 support (BOM) 
        //if ( utf8_support ) header('Content-Type: text/html; charset=utf-8'); 

        header('Set-Cookie: '.rawurlencode($name).'='.rawurlencode($value) 
                                    .(empty($domain) ? '' : '; Domain='.$domain) 
                                    .(empty($maxage) ? '' : '; Max-Age='.$maxage) 
                                    .(empty($path) ? '' : '; Path='.$path) 
                                    .(!$secure ? '' : '; Secure') 
                                    .(!$HTTPOnly ? '' : '; HttpOnly'), false); 
        return true; 
    }

Snad se to bude někomu hodit ;-)

Zpět do poradny Odpovědět na původní otázku Nahoru