L'accesso viene controllato dalla pagina php, non puoi fare in modo che se i dati son corretti va in una pagina altrimenti nell'altra direttamente dal form di invio perchè lo script deve innanzitutto controllare la validità dei dati inseriti.
Quindi
Prima cè il form che fornisce l'interfaccia per inviare i dati
una volta che premi invia, i dati POST vengono inviati ad un'altra pagina php che li elabora, ma prima di elaborarli non si è a conoscenza dell'esito del login quindi non puoi scrivere due pagine accessoNegato o corretto perchè non cè modo di determinarlo prima!
A questo punto i dati arrivano alla pagina login.php che li elabora come ho scritto
Codice PHP:
<?php
session_start();
function login($username,$password) {
//Una funzione che cerca dati in una tabella mysql o pgsql.....
//Ma restituisce true se trova in corrispondenza di $username la password $password
//Se non sai come fare postalo nel forum e risponderemo =)
}
if (login($_POST["username"],$_POST["password"])) {
$_SESSION["user"] = $username;
echo "
Benvenuto [b]".$_SESSION["user"]."[/b]</p>";
} else {
echo "
Username o Password scorretti! [url='pagina.html']Riprova[/url]</p>";
}
?>
Chiaramente la funzione devi definirla, io lho lasciata vuota per permetterti di scegliere il metodo di autenticazione che preferisci!
Il succo della questione è che se i dati corrispondono (magari in una tabella mysql o in un file) la funzione login restituisce TRUE e l'username viene salvato nella sessione corrente
Se i dati non corrispondono visualizza il messaggio di errore