questo è il mio login con sessioni:
Codice PHP:
<?php
if ($_SERVER['REQUEST_METHOD'] == "POST") {
$utente_loggato = $user;
try {
$query = $config->getPdo()->prepare("SELECT * FROM user WHERE user_name='" . trim(sha1($_POST['username'])) . "' AND user_pass='" . trim(sha1($_POST['password'])) . "'");
$query->execute();
if ($query->rowCount() == 1) {
$_SESSION['login'] = TRUE;
$_SESSION['utente'] = $utente_loggato;
header('location:[url]http://localhost/book/index.php[/url]');
return TRUE;
} else {
return FALSE;
}
} catch (PDOException $e) {
$error = $e->getMessage() . "
";
return $error;
die();
}
}
in pratica se la query trova una corrispondenza nel db allora setta due variabili di sessioni con $_SESSION.
queste variabili possono essere usate dove vuoi.
ad esempio per verificare che il login è stato fatto.
inoltre memorizzo il nome utente così magari posso stamparlo dove voglio.
cosa è meglio mettere nn ti so dire.
nei cookie andrebbe messo quello che c'è nell'esempio in modo da ricordare l'utente (ricordati di mettere una funzione di cancellazione del cookie nel logout).
nella sessione puoi mettere quello che vuoi, dipende da quello che vuoi/devi farci.
onestamente nn saprei come consigliarti di gestire la cosa perchè io fino a oggi ho fatto solo login con sessioni in quanto nn ho mai avuto la necessità di usare cookie.
ragionandoci sopra penso tu debba usare o cookie per memorizzare il minimo indispensabile per fare una cosa del genere: quando l'utente va sulla pagina controllo se il cookie c'è, e se c'è fai come se fosse loggato.
ma è solo una supposizione.