Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Login con più utenti

  1. #1

    Login con più utenti

    Salve a tutti,
    avrei una domanda: per una pagina riservata in un sito internet sono riuscito ad implementare un metodo in php che però prevede soltanto un utente. Vorrei chiedervi, come posso fare a creare più di un utente? Dovrebbe essere una cosa di base


    Ecco il form per loggarsi in login.php:

    <form method="post" action="pag_protetta.php">


    Username </br>
    <input type="text" name="username" size="20"></p>


    Password </br>
    <input type="password" name="password" size="20"></p>



    <input type="submit" value="Login">
    <input type="reset" value="Annulla">
    </form>



    il controllo sulla pag_protetta.php

    <?
    include 'config.php';
    $username=$_POST['username'];
    $password=$_POST['password'];

    if ($username==$usern && $password==$passd) {
    ?>

    PAGINA PROTETTA

    <?
    }
    else {
    include("error.html");
    }
    ?>




    e il file config.php con la definizione di username e password

    <?
    $usern='USERNAME'; # valore username
    $passd='PASSWORD'; # valore password
    ?>



    Ovviamente se aggiungo righe in config.php con altri utenti e password mi considera valido solo l'ultimo che legge... come posso fare? Gli utenti sarebbero massimo 3 o 4 in ogni caso..

    Grazie!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ti serve un database dove salvare i vari utenti, poi in fase di login prendi username e password che arrivano dal form e vedi se la coppia esiste nel database.

  3. #3

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Troppo lunga da spiegare, cerca su google qualche tutorial su come gestire registrazione e login.

  5. #5

    Login utenti, funzione loginindex.php

    Allora,

    crei un database con MySql e al suo interno una tabella chiamata 'Utente' che avrà i campi 'Nome','Password','Admin', e tutto quello che vuoi.

    Questo file lo includi nella tua index.php così
    codice:
    include "index_login.php";
    poi crei il form come hai fatto tu sopra. quando l'utente premerà il bottone Login automaticamente questo funzione eseguirà il login. Devi modificare il file come lo vuoi tu però!

    codice:
    <?php
    //@InfoWebTicinoSA
    
    //controllo se l'utente schiaccia il bottone
    if(isset ($_POST["Login"])){
        //controllo che i campi non siano vuoti
        if((!empty($_POST["nome_utente"])) && (!empty($_POST["password"]))){
            //controllo se i valori sono giusti
            $query = "select * from utente where username='".$_POST["nome_utente"]."' and password='".$_POST["password"]."'";
            // Creo un oggetto di tipo DB (database, DEVI AVERE UNA CLASSE DB)
            $db = new db();
            //Eseguo la query
            $db->api_db_execute_query($query);
    
            //Controllo che ci siano corrispondenze nel DB
            if($db->num_rows){
                $fetch = mysql_fetch_object($db->result);
                //creo un nuovo oggetto di tipo user
                $user = new user($fetch->username,$fetch->admin,$fetch->password,$fetch->piansep,$fetch->lang);
                $_SESSION["user"] = serialize($user);
                
                session_regenerate_id(TRUE);
    
                generic::redirect("pagine/login.php",0);
            }else{
                generic::redirect("pagine/error.php",0);
            }
        }else{
            print("Inserisci nome utente e password!");
        }
    }
    ?>
    Info e Sviluppo : info@infowebticino.ch
    Pubblicità : pubblicita@infowebticino.ch
    Design : design@infowebticino.ch
    Web : http://www.InfoWebTicino.ch

  6. #6
    Ovviamente il database lo devo comprare dall'host?

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Dipende da quale hoster scegli, molti lo danno di default il database, altri no.

  8. #8
    Utilizzo aruba!

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Allora si, il db si paga a parte come optional.

  10. #10
    Ok, ho risolto così:

    <?
    $usern='user' || 'admin'; # valore username
    $passd='passuser' || 'passadmin'; # valore password
    ?>


    Almeno ho "2 utenti", nel senso che per il codice php che mi serve posso fare un controllo su nome e password per fare entrare solo uno dei due utenti (il primo è un utente generale dell'area protetta, è il sito di un coro; il secondo invece è l'amministratore)


    Ora, risolto questo problema, ne sorge un altro: l'upload di file.


    Questo è il form nella pagina protetta:

    <form name="upload" method="post" action="upload2.php" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="50000000000">
    <input type="file" name="uploadfile">
    <input type="submit" name="go" value="Carica"></form>





    E questo è il php di "upload2.php" (ovviamente devo ancora mettere il controllo sulla password)

    <?php
    // controllo che non ci siano stati errori nell'upload (codice = 0)
    if ($_FILES['uploadfile']['error'] == 0){
    // upload ok
    // controllo che il file sia in formato pdf
    if ($_FILES['uploadfile']['type'] != "application/pdf") die("Formato file non valido, è permesso solo il formato pdf");
    // copio il file dalla cartella temporanea a quella di destinazione mantenendo il nome originale
    copy($_FILES['uploadfile']['tmp_name'], "/file_caricati/".$_FILES['uploadfile']['name']) or die("Impossibile caricare il file");
    // upload terminato, stampo alcune info sul file
    echo "Upload terminato con successo:
    ";
    echo "Nome file: ".$_FILES['uploadfile']['name']."
    ";
    echo "Dimensione file: ".$_FILES['uploadfile']['size']."
    ";
    echo "Tipo MIME file: ".$_FILES['uploadfile']['type'];
    }
    else{
    // controllo il tipo di errore
    if ($_FILES['uploadfile']['error'] == 2){
    // errore, file troppo grande (> 50MB)
    die("Errore, file troppo grande: il massimo consentito è 50MB");
    }
    else{
    // errore generico
    die("Errore, impossibile caricare il file");
    }
    }
    ?>



    Caricando un pdf mi viene fuori il seguente errore:

    Warning: copy(/file_caricati/SS4732_0509.pdf) [function.copy]: failed to open stream: No such file or directory in D:\Inetpub\webs\coroconcorezzoit\upload2.php on line 8
    Impossibile caricare il file


    Premetto che tutte le mie cartelle e i miei file hanno come attributo 777 (ho settato la cartella di base su 777 con tutti i suoi figli, file e sottocartelle! )

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.