Ciao Edonista =)
Personalmente i controlli li faccio proprio all'interno della pagina logincheck.php che contiene il seguente codice php.
Codice PHP:
<?php
//se è già presente il valore user in sessione significa che sei già loggato
if(isset($_SESSION["user"])){
print("Hai già effettuato il login!");
}
else{
//se è stato premuto il pulsante di invio del form nella pagina login.php
if(isset($_POST["bAccedi"])){
//verifico se sono stati completati entrambi i campi
if(($_POST["tbUsername"] != "") && ($_POST["tbPassword"] != "")){
//includo il file con le impostazioni del database
include("../db.inc");
//effettuo la mia select
$sql = "select * from tabella where username='".
$_POST["tbUsername"] ."' and password='". $_POST["tbPassword"]."'";
//var_dump($sql);
$result = $db->query($sql);
//se restituisce un risultato allora lo salvo sul db
if($db->affected_rows == 1){
$row = $result->fetch_assoc();
$_SESSION["user"] = $row["username"];
$result->free_result();
}
else{
print("Non è stata trovata alcuna corrispondenza!");
}
}
//nel caso in cui non fossero stati compilati tutti i campi
else{
print("Non hai inserito tutti i valori necessari!");
}
}
}
?>
Ovviamente questo è solo un esempio, che puoi farcire con tutti i controlli sull'integrità dei dati che vengono immessi.
Quello che però non si può fare da una pagina simile è effettuare il redirect dopo aver visualizzato i messaggi in quanto vi è già un output.
Spero di essere stato un pochino d'aiuto
Saluti!