Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Login utenti registrati

    Salve! Sono nuovo del forum e avrei bisogno di un piccolo aiuto. Uso altervista per un piccolo sito e mi trovo in difficoltà per creare un login utente.

    Questo e il codice che ho usato per il file .php:


    <?php
    // inizializzazione della sessione
    session_start();
    // se la sessione di autenticazione
    // è già impostata non sarà necessario effettuare il login
    // e il browser verrà reindirizzato alla pagina di scrittura dei post
    if (isset($_SESSION['login']))
    {
    // reindirizzamento alla homepage in caso di login mancato
    header("Location: gestisci.php");
    }
    // controllo sul parametro d'invio
    if(isset($_POST['submit']) && (trim($_POST['submit']) == "Login"))
    {
    // controllo sui parametri di autenticazione inviati
    if( !isset($_POST['username']) || $_POST['username']=="" )
    {
    echo "Attenzione, inserire la username.";
    }
    elseif( !isset($_POST['password']) || $_POST['password'] =="")
    {
    echo "Attenzione, inserire la password.";
    }else{
    // validazione dei parametri tramite filtro per le stringhe
    $username = trim(filter_var($_POST['username'], FILTER_SANITIZE_STRING));
    $password = trim(filter_var($_POST['password'], FILTER_SANITIZE_STRING));
    $password = sha1($password);
    // inclusione del file della classe
    include "funzioni_mysql.php";
    // istanza della classe
    $data = new MysqlClass();
    // chiamata alla funzione di connessione
    $data->connetti();
    // interrogazione della tabella
    $auth = $data->query("SELECT id_login FROM login WHERE username_login = '$username' AND password_login = '$password'");
    // controllo sul risultato dell'interrogazione
    if(mysql_num_rows($auth)==0)
    {
    // reindirizzamento alla homepage in caso di insuccesso
    header("Location: index.php");
    }else{
    // chiamata alla funzione per l'estrazione dei dati
    $res = $data->estrai($auth);
    // creazione del valore di sessione
    $_SESSION['login'] = $res-> id_login;
    // disconnessione da MySQL
    $data->disconnetti();
    // reindirizzamento alla pagina di amministrazione in caso di successo
    header("Location: gestisci.php");
    }
    }
    }else{
    // form per l'autenticazione
    ?>
    <h1>Access for user:</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    Username:

    <input name="username" type="text">

    Password:

    <input name="password" type="password" size="20">

    <input name="submit" type="submit" value="Login">
    </form>
    <?
    }
    ?>

    L'ho trovato in una discussione e siccome sono abbastanza a digiuno di programmazione vorrei sapere come e dove impostare un file coi nomi utente e password e dove inserire in queste stringhe(del php) il nome del file da cui la pagina controllerà gli utenti per verificare il buon esito del login. Grazie in anticipo =)

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, ti consiglio una bella tabella in database con due tre colonne minimo (id,nomeutente,password- se possibile criptata - ) Una volta fatto questo basta interrogare il database con le query SQL e utilizzare le funzioni PHP mysql_*

  3. #3

    Re: Login utenti registrati

    Originariamente inviato da caniblastoise
    Salve! Sono nuovo del forum e avrei bisogno di un piccolo aiuto. Uso altervista per un piccolo sito e mi trovo in difficoltà per creare un login utente.

    Questo e il codice che ho usato per il file .php:


    <?php
    // inizializzazione della sessione
    session_start();
    // se la sessione di autenticazione
    // è già impostata non sarà necessario effettuare il login
    // e il browser verrà reindirizzato alla pagina di scrittura dei post
    if (isset($_SESSION['login']))
    {
    // reindirizzamento alla homepage in caso di login mancato
    header("Location: gestisci.php");
    }
    // controllo sul parametro d'invio
    if(isset($_POST['submit']) && (trim($_POST['submit']) == "Login"))
    {
    // controllo sui parametri di autenticazione inviati
    if( !isset($_POST['username']) || $_POST['username']=="" )
    {
    echo "Attenzione, inserire la username.";
    }
    elseif( !isset($_POST['password']) || $_POST['password'] =="")
    {
    echo "Attenzione, inserire la password.";
    }else{
    // validazione dei parametri tramite filtro per le stringhe
    $username = trim(filter_var($_POST['username'], FILTER_SANITIZE_STRING));
    $password = trim(filter_var($_POST['password'], FILTER_SANITIZE_STRING));
    $password = sha1($password);
    // inclusione del file della classe
    include "funzioni_mysql.php";
    // istanza della classe
    $data = new MysqlClass();
    // chiamata alla funzione di connessione
    $data->connetti();
    // interrogazione della tabella
    $auth = $data->query("SELECT id_login FROM login WHERE username_login = '$username' AND password_login = '$password'");
    // controllo sul risultato dell'interrogazione
    if(mysql_num_rows($auth)==0)
    {
    // reindirizzamento alla homepage in caso di insuccesso
    header("Location: index.php");
    }else{
    // chiamata alla funzione per l'estrazione dei dati
    $res = $data->estrai($auth);
    // creazione del valore di sessione
    $_SESSION['login'] = $res-> id_login;
    // disconnessione da MySQL
    $data->disconnetti();
    // reindirizzamento alla pagina di amministrazione in caso di successo
    header("Location: gestisci.php");
    }
    }
    }else{
    // form per l'autenticazione
    ?>
    <h1>Access for user:</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    Username:

    <input name="username" type="text">

    Password:

    <input name="password" type="password" size="20">

    <input name="submit" type="submit" value="Login">
    </form>
    <?
    }
    ?>

    L'ho trovato in una discussione e siccome sono abbastanza a digiuno di programmazione vorrei sapere come e dove impostare un file coi nomi utente e password e dove inserire in queste stringhe(del php) il nome del file da cui la pagina controllerà gli utenti per verificare il buon esito del login. Grazie in anticipo =)
    Non ho capito? Lo script da te postato utilizza un DB dal quale recupera le info relative agli utenti, ma tu vorresti utilizzare un file?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    C'e qualcosa di già fatto magari compatibile con altervista da scaricare? non ho idea di come fare...su altervista non c'e la possiilita di creare un .mysql (se poi l'estenzione e questa che leggerei)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.