Originariamente inviata da
Alhazred
Bisognerebbe vedere il codice.
Intanto azzardo: non è che la creazione del cookie l'hai messa dentro un if per il quale la condizione diventa vera solo al secondo click?
Il fatto che a volte succede e a volte no potrebbe dipendere dalla cache del browser.
Provo a postare il codice.
Ho creato due funzioni, una che verifica che il cookie sia valido e l'altra che restituisce il nome utente associato al cookie, nella mia pagina protetta, se il cookie è valido e se il nome utente è 'admin' allora carica il contenuto
Codice PHP:
$utente = $_COOKIE['usloginmc'];
$resu = verifica($utente);
if (($resu) && (nome_ut($utente) == 'admin')) {
/*carica pagina
}
per fare il login uso un classico form che manda tramite la POST il nome utente e la password che ha a grandi linee questo codice:
Codice PHP:
$userid = $_POST['userid'];
$password = $_POST['pssw'];
$userid = mysqli_real_escape_string($dbc, trim($userid));
$password = mysqli_real_escape_string($dbc, trim($password));
$password = md5($password . SALT);
$query = "SELECT * FROM mc_username WHERE username = '$userid' AND password = '$password'";
$result = mysqli_query($dbc, $query);
if (mysqli_num_rows($result) == 1) {
$row = mysqli_fetch_array($result);
$id = $row['coduser'];
setcookie('usloginmc', $id, time() + 7200);
}
header('Location: www.miosito.it');
l'header mi riporta alla pagina di login, in questo caso dovrebbe generare il cookie, riportarmi alla pagina di login e farmi vedere il contenuto che prima era nascosto.. invece visualizzo ancora il form e devo riloggare un altra volta per visualizzare il contenuto!