Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    Area utenti personalizzata: consigli?

    Ciao ragazzi! Volevo qualche dritta su come procedere.... vorrei creare un'area utenti in cui ogni user ha la propria pagina personalizzata, e l'admin può modificare tutti i campi degli utenti...

    Ho un database MySQL, nel quale vorrei inserire i dati degli utenti (che possono essere inseriti unicamente dall'admin). Nel db penso di inserire:

    ID come primary key auto-increment
    username
    password
    nomecognome
    citta
    tel

    devo creare un'unica pagina che legga le variabili dal database a seconda dell'utente e mi prenda riga per riga i suddetti dati, in modo che l'utente pincopallino veda nella propria pagina le suddette informazioni mostrate (e non modificabili).

    Ho il modulo, riesco a prendere i dati e a fare correttamente la query al DB... ora come posso procedere? Devo passare alla pagina i dati in maniera dinamica? E per l'admin come posso fare un redirect alla pagina personale dell'admin per amministrare e visualizzare tutti gli utenti? Grazie delle dritte, spero di non essere stato troppo contorto!
    "Quando uno è fatto così, è fatto per la roba"
    G.Verga - "La Roba"

  2. #2
    nessun consiglio?
    "Quando uno è fatto così, è fatto per la roba"
    G.Verga - "La Roba"

  3. #3
    Qui più che dritte servirebbe mezzo libro di PHP

    Da quello che scrivi sembra che abbia tutti gli elementi, ora procedi

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316
    Non ci vedo nulla di complicato.

    Crei un login ( form POST ), ed esegui una query controllando l'username e la password utente ( esempio ) :
    Codice PHP:
    <?php

    # Questa pagina si chiama login.php

    session_start();

    $query mysql_query"SELECT username, password FROM tabella_utenti WHERE username = '$_POST[username]' AND password = '$_POST[password]' LIMIT 1;" );

    # Controlla che i dati siano esatti
    if ( mysql_num_rows$query ) == )
    {
      echo 
    "Benvenuto utente";
      
      
    // Estrae i dati
      
    $dati_utente mysql_fetch_array$query );

      
    // Salva in sessione i dati dell'utente
      
    $_SESSION["id_utente"] = $dati_utente["ID"]
      
    $_SESSION["username"] = $dati_utente["ID"]
      
    $_SESSION["is_logged"] = TRUE;

      
    // Se il nick è uguale a Sir Lothar lo salva come admin
      
    $_SESSION["amministratore"] = TRUE;
    }
    else
    {
       echo 
    "Dati errati, riprova.";

      
    // Elimina tutti i valori di sessione
      
    unset( $_SESSION );
      
    $_SESSION = array();
    }

    Poi crei una pagina chiamata ADMIN.PHP per amministrare gli utenti.

    Codice PHP:
    <?php

    # Questa pagina si chiama login.php

    session_start();

    // Controlla se è un admin
    if ( @ $_SESSION["amministratore"] !== TRUE )
    {
       exit( 
    "NON SEI UN ADMIN. PAGINA BLOCCATA" );
    }

    # ... resto della pagina di amministrazione...

    ?>

  5. #5
    Grazie Zacca, proprio quello che intendevo!

    @Samleo:
    Uso le guide PHP che trovo in rete, ma visto che sto imparando, volevo dei consigli sul procedimento da seguire... ora studio il codice che ha postato Zacca! Cmq grazie lo stesso per la risposta!
    "Quando uno è fatto così, è fatto per la roba"
    G.Verga - "La Roba"

  6. #6
    Nell'area utenti secondo me manca una informazione importantissima per quello che serve a te.
    Un identificativo che spieghi agli script chi è che sta visualizzando la pagina.
    Visto che l'admin può eseguire lavori che gli altri utenti non possoon eseguire, io aggiungerei un campo alla tabella del DB in cui si vada a segnare il "livello" di gestione.
    Io userei un campo numerico tipo:

    codice:
    admin -> livello: 100
    user: livello: -> 10 
    super-user: livello -> 50
    In base a quel numeretto farai visualizzare un menu diversificato.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    Giusta idea! Grazie alcio74!
    "Quando uno è fatto così, è fatto per la roba"
    G.Verga - "La Roba"

  8. #8
    Mmmmm mi sto un pò incasinando raga...

    Codice PHP:
    <?php

    # Questa pagina si chiama login.php

    session_start();

    // Fa l'include
    include ("config.inc.php");

    // Si collega al database
    mysql_connect($hostname,$username,$password);

    // Seleziona il database
    mysql_select_db($database);

    $query mysql_query"SELECT * FROM utenti WHERE username = '$_POST[username]' AND password = '$_POST[password]' LIMIT 1;" );

    # Controlla che i dati siano esatti
    if ( mysql_num_rows$query ) == )
    {
      echo 
    "Benvenuto utente";
      
      
    // Estrae i dati
      
    $dati_utente mysql_fetch_array$query );

    if (
    $_POST['username'] == $dati_utente['username'])
    {
        if (
    $_POST['password'] == $dati_utente['password'])
        {
            if (
    $_POST['livello'] == "1")
            echo 
    "Utente";
        } else {
            echo 
    "Non utente";
        }
    } else 
    "Username errato!";

    ?>
    In pratica io vorrei ottenere questo:

    Username e pass corretta --> Procede al controllo livello --> Se liv 1 pagina utente se Liv 2 pagina superuser se liv 3 pagina admin

    Username o pass errata --> Pagina di errore

    ma mi sa che mi sto incasinando notevolmente... any suggestions?
    "Quando uno è fatto così, è fatto per la roba"
    G.Verga - "La Roba"

  9. #9
    È sbagliata la query perché le variabili estratte da $_POST, GET eccetera vanno concatenate.

    Codice PHP:
    $sql "
       SELECT * 
       FROM utenti 
       WHERE username = '"
    .$_POST['username']."' 
       AND password =  '"
    .$_POST['password']."' 
    "

    Non capisco poi perché limiti la query ad un risultato, quando poi devi andare a controllare se ottieni uno risultato.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  10. #10
    Bene, così seleziono tutta la riga contenente userid e password ottenuti dalla form...

    E poi con che sintassi gli dico che a seconda del livello di andare a pagina tot o tot?

    if...else?
    "Quando uno è fatto così, è fatto per la roba"
    G.Verga - "La Roba"

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 © 2024 vBulletin Solutions, Inc. All rights reserved.