Autor Zpráva
FrantPoker
Profil *
Dobrý den,
mám na webu simplecube.eu menší problém s automatickým přihlášením - když otevřu web, tak mi to ukazuje, že nejsem přihlášený. Jakmile načtu jakoukoliv stránku, tak už mě to přihlásí. Jak zařídit, abych byl přihlášen už při otevření stránky a ne až po dalším kliknutí?
Zde je script:
session_start();
if(!isset($_SESSION['id'])){        
    
        if(isset($_COOKIE['prihlasen'])){            
        
            $AutoLogin=Explode("@SEPARATOR@", $_COOKIE['prihlasen']);    
            
                if(!ini_get('magic_quotes_gpc')){
                    $name  = addslashes($AutoLogin[0]);
                    $pass  = addslashes($AutoLogin[1]);
                }else{
                    $name = $AutoLogin[0];
                    $pass = $AutoLogin[1];
                }
                $query = MySQL_Query("SELECT * FROM authme WHERE `username` = '$name' and `password` = '".$pass."' ORDER BY id") or die (mysql_error());
                $uz = mysql_fetch_array($query);
                        if($uz['username']){
            $_SESSION['prezdivka'] = $uz['username'];
            $_SESSION['prihlasen_kde'] = dirname($_SERVER['SCRIPT_FILENAME']);
            $_SESSION['id'] = $uz['id'];
            }
    } // cookie
}
Chuchycek
Profil
Dobrý,

dejte si na řádek 21 např.
header('location: ./index.php');
FrantPoker
Profil *
Z nějakého důvodu to napoprvé nenačte cookie - var_dump($_COOKIE['prihlasen']) je NULL, ale jakmile kliknu kamkoliv, tak už má hodnotu
Alphard
Profil
var_dump($_COOKIE['prihlasen']) vypíše cookies, které byly v aktuálním http požadavku. Proto nejsou zohledněny ty, které jste změnil na aktuální stránce. Projeví se až po znovunačtení stránky, kdy je prohlížeč odešle na server v dříve zmíněném http požadavku.
Naproti tomu změny v $_SESSION můžete vidět hned, protože v cookies je pouze identifikátor na session soubor umístěný na serveru. Uvedené změny lze proto vidět ještě v tom samém scriptu.
FrantPoker
Profil *
Alphard:
Nešlo by nějak nastavit, aby bylo cookie funkční hned a ne až pro znovunačtení?
Davex
Profil
Jestli ono to není tím, že jsi přihlášen pouze na www.simplecube.eu a na doméně bez www jsi nikdy přihlášený nebyl. Přesměruj si simplecube.eu na www.simplecube.eu a chyba zmizí.
FrantPoker
Profil *
Davex:
Super, díky moc!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: