BorderGame

Versione completa: Semplice pagina di login / logout senza mysql in php
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
Semplice pagina di login / logout senza mysql in php che sfrutta le sessioni.

Codice:
<?php
/**
* Created by PhpStorm.
* User: Nicolas
* Date: 15/10/2015
* Time: 21:19
*/
session_start();
$username = "123"; //Scegliere l'username
$password = "123"; //Scegliere la password

//Login
if(isset($_GET['login'])) {
    if ($_POST['username'] == $username && $_POST['password'] == $password) {
        $_SESSION['login'] = true;
        header("Location: index.php");
    } else {
        header("Location: index.php?logerror");
    }
} else if (isset($_GET['logout'])) {
    session_destroy();
    header("Location: index.php");
} else if(isset($_GET['logerror'])) {
    echo "<h1>Login fallito.</h1>";
    echo '<a href="index.php" title="Riprova">Riprova</a>';
} else {
    if (isset($_SESSION['login'])) {
        echo 'Ciao Admin! <br> <a href="?logout" title="Logout">Logout</a>';
    } else {
        ?>
        <html>
        <head>
            <title>Semplice pagina login logout senza mysql</title>
        </head>
        <body>
        <h1>Login</h1>

        <form method="POST" action="index.php?login">
            Username: <label>
                <input type="text" name="username">

            </label><br>
            <label>
                Password:
                <input type="password" name="password"
            </label> <br>
            <input type="submit" value="Login">
        </form>
        </body>
        </html>
        <?php
    }
}


Questo codice sfrutta le sessioni per ricordare se un utente ha effettuato il login o meno.
Vi sono tre passaggi:
1. Il login, dove vengono controllati i dati immessi e nel caso fossero corretti, viene impostata la sessione "id" a "true".
2. Il logout, dove tramite session_destroy() distrugge tutte le sessioni create (in questo caso "id").
3. Il display del form di login, che avviene per ultimo nel caso ne login ne logout fossero chiamati.

E' possibile pubblicarlo in altri forum citando la fonte.
URL di riferimento