Ok, è molto facile ti spiego io: tu ti crei uno o più file dipendentemente da come vuoi lavorare, ovvero ci serviranno un file per loggarsi, uno per registrarsi e uno per la pagina segreta,
la parte del login la puoi mettere direttamente sul file: index.php così come il form per la registrazione puoi sempre inserirlo nella medesima pagina (index.php) ma se vuoi puoi crearti una nuova pagina che potrai chiamare come vuoi, esempio: registrazione.php.
se il nostro lavoro sarà composto su tre file: index.php , registrazione.php e segreta.php allora lavoreremo così;
crei il file index.php dove scriverai:
Codice PHP:
<!--creo il form di login -->
<form action="" method="POST">
Inserisci username:<input type="text" name="user""><br/>
Inserisci password:<input type="text" name="pass""><br/>
<input type="submit" name="invia" value="Accedi"></form>
<br/>
Non sei registrato? Registrati allora <a href="registrazione.php">Clicca qui!</a>
<?php
//startiamo una sessione che chiameremo login vedremo poi perchè, ti consiglio comunque di cercare qualche guida a riguardo
session_start(login);
//ora creiamo il codice per definire quando clicchiamo sul bottone "Accedi" che ha come nome "invia" ricordati che abbiamo definito come metodo del form "post" e quindi faremo così
if($_POST['invia']){
//richiamiamo i valori dell'username e della password in variabili
$user=$_POST['user'];
$pass=$_POST['pass'];
//Ora cripto la variabile della password con un algoritmo per aumentare la sicurezza, si può non usare ma è consigliato
$md5=md5($pass);
//ora leggo il file .txt vedremo dopo come crearlo questo file che si chiamerà account.txt per l'account e password.txt per la password per leggere si usa la funzione fopen("nomefile" , 'r') ti consiglio di leggere qualche guida in proposito
$userfp=fopen("account.php" , 'r');
//preleviamo ciò che c'è scritto nel file account.txt, si usa la funzione fread(variabile da utilizzare, numero caratteri da leggere nel file); io uso 100 così per fare amemttiamo che un user usi un nome svedese o stranissimo (dico svedese così perchè c'avevo voglia)
$userdati = fread($userfp, 100);
//facciamo lo stesso come per la password
$passfp=fopen("password.php" , 'r');
$passdati = fread($passfp, 100);
//ora creiamo due condizioni , se user combacia con userdati e se pass combacia ccon passdati allora saremo spediti alla pagina segreta.php
if($user==$userdati && $md5==$passdati){
//qua apriremo una sessione, quella del login che definniremo come il nome dell'username che abbiamo registrato
$_SESSION['login']=$user;
//ora ci creiamo un redirect che ci porterà alla pagina segreta.php
header("Location:segreta.php");
}
//invece se sono diversi ci darà errore che possiamo farlo come testo normale o come messaggio d'errore con un alter oppure come più ti aggrada
else{
echo "<script>alert('Username o password errati!');</script>";
}
}
?>
Ora creiamo il file registrazione.php
Codice PHP:
<!--creiamo il form -->
Registrati!<br/>
<form action="" method="POST">
Username:<input type="text" name="user"><br>
Password:<input type="text" name="pass"><br/>
<input type="submit" name="invia" value="Registrati"></form>
<?php
//facciamo la stessa cosa di prima cerifichiamo che il bottone sia stato premuto
if($_POST['invia']){
//richiamiamo in variabili i dati che ci interessano
$user=$_POST['user'];
$pass=$_POST['pass'];
$md5=md5($pass);
//creiamo il file account.txt e password.txt w serve per scrivere
$userfp =fopen('account.txt', 'w+');
//Decidiamo cosa inserire all'interno del file
fputs ($userfp, "$user");
//creiamo il file password.txt
$passfp =fopen('password.txt', 'w+');
////stessa cosa per la password
fputs ($passfp, "$md5");
//messaggio di registrazione avvenuta con successo
echo "<script>alert('Ti sei registrato con successo');</script>";
//crea un link per tornare indietro cosa che si può mettere anche nella pagina html fuori dal codice if($_POST['invia'])
echo "<a href='index.php'>Vai a loggarti!</a>";
}
}
?>
Ora creiamo la pagina segreta.php
Codice PHP:
<?php
//startiamo la sessione login
session_start(login);
//e ora diciamo se quuesta sessione sta lavorando cosa succede
//Se sta lavorando succederà questo isset= lavora !isset= non lavora
if(isset($_SESSION['login']){
//diciamo di richiamare in variabile per facilitarci i compiti la sessione['login'] che contiene la variabile $user
$user=$_SESSION['login'];
//mostriamo questa variabile
echo "Ciao ".$user;
//per distruggere ovvero tornare alla pagina iniziale basta utilizzare la funzione session_destroy();
}
//mentre se non lavora e siamo sulla pagina segreta.php ci reinderizza automaticamente alla pagina index.php
//in questo caso si può fare sia con else{} che con if(!isset($_SESSION['login']){}
else{
header("Location:index.php");
}
?>