Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ####
- // controlla se è stato premuto il bottone Logout
- if (isset($_POST['logout_but'])) {
- // in caso di risposta affermativa, richiama la funzione per effettuare il logout
- logout();
- header("location: $_SERVER[PHP_SELF]");
- }
- if ($_POST) {
- login();
- } else {
- show_form();
- }
- // funzione che mostra il form, sia se si è loggati che non ##ASPETTO DA RIVEDERE
- function show_form() {
- if (isset($_GET['msg'])) {
- echo "<b>".htmlentities($_GET['msg'])."</b><br />";
- }
- // controlla se il valore status è impostato su 'done'
- if ($_GET['status'] == "done") {
- // se la condizione è verificata, significa che il login è stato effettuato
- // quindi mostra il pulsante per effettuare il logout
- echo '
- <a href="'.$_SERVER[PHP_SELF].'">Reload</a>
- <form action="" method="post" name="logout">
- <input type="submit" name="logout_but" value="Logout" />
- </form>';
- } else {
- // altrimenti mostra il form
- echo '
- <a href="'.$_SERVER[PHP_SELF].'">Reload</a>
- <form action="" method="post" name="login">
- Username: <input type="text" name="user" value="" /><br />
- Password: <input type="password" name="pass" value="" /><br />
- <input type="submit" name="login_but" value="Invia" />
- </form>';
- }
- }
- // funzione per effettuare il login
- function login() {
- // elimina gli spazi bianchi all'inizio e alla fine dei dati
- $user = trim($_POST['user']);
- $pass = trim($_POST['pass']);
- // controlla se è attiva la funzione di PHP per l'escape automatico dei caratteri speciali
- if (get_magic_quotes_gpc()) {
- // se è attiva, provvede a togliere gli slash eventualmente inseriti
- $user = stripslashes($user);
- $pass = stripslashes($pass);
- }
- // effettua l'escape dei caratteri speciali per effettuare la query
- $user = mysql_real_escape_string($user);
- $pass = mysql_real_escape_string($pass);
- $query = "SELECT id FROM users WHERE name = '$user' AND pass = MD5('$pass')";
- $result = mysql_query($query);
- // controlla l'esito della query
- if (!$result) {
- die("Query non eseguita con successo:<br />".mysql_error());
- }
- // assegna alla variabile $row il record estrapolato grazie alla funzione
- $row = mysql_fetch_array($result);
- if (!$row) {
- $msg = urlencode("Nome utente o password errati");
- $tok = urlencode("err"); //####
- header("location: $_SERVER[PHP_SELF]?msg=$msg&status=$tok");
- } else {
- session_start();
- $_SESSION['user_id'] = $row['id']; // assegna l'id di sessione
- $msg = urlencode("Login eseguito con successo");
- $tok = urlencode("done"); //####
- header("location: $_SERVER[PHP_SELF]?msg=$msg&status=$tok");
- }
- }
- // funzione per effettuare il logout ### ?? ###
- function logout() {
- //session_destroy(); // distrugge la sessione
- $_SESSION = array(); // svuota l'array di sessione
- $_POST = array(); // svuota l'array $_POST
- //header("location: $_SERVER[PHP_SELF]");
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement