Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    4

    Connettere a database diversi in base all'utente

    Buongiorno a tutti innanzitutto e complimenti per il forum
    Procedo subito con il dire che sono un semi-newbie della programmazione PHP/MYSQL e mi sto accingendo ad effettuare un piccolo applicativo nel quale avrei necessità che gli utenti si loggassero e venissero rediretti al loro db personale. Praticamente l'accesso ad un db piuttosto che ad un altro deve avvenire filtrando l'utente in fase di login.
    E' possibile fare ciò in PHP e db MYSQL? Sto impazzendo cercando soluzioni.....ma zero..
    Spero nel vs supporto....grazie 1000

  2. #2
    Ciao,
    certo che è possibile.

    Prendi in esempio il codice che ti ho aggiunto:
    se te cambi il valore di $database a seconda dell'utente
    dovresti ottenere ciò che vuoi.

    /*--------- DATABASE CONNECTION INFO---------*/
    $hostname="localhost";
    $mysql_login="myusername";
    $mysql_password="mypassword";
    $database="database_del_UTENTE";

    // connect to the database server
    if (!($db = mysql_pconnect($hostname, $mysql_login , $mysql_password))){
    die("Can't connect to database server.");
    }else{
    // select a database
    if (!(mysql_select_db("$database",$db))){
    die("Can't connect to database.");
    }
    }
    ?>

    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    4
    Grazie mille per la pronta risposta
    Solo un dubbio....
    se dovessi avere diciamo circa 30 utenti, dovrei creare una pagina di logon per ogni utente andando a modificare il parametro $database? Oppure c'è un altro modo di pilotare l'accesso al database in base al logon?
    Grazie per il supporto e per la pazienza

  4. #4
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Sicuro che vuoi che accedano ad un database diverso oppure per database intendi una tabella?

  5. #5
    Ciao,
    si può 'governare' l'abbinamento dell'utente al nome del suo DB subito dopo la fase di login in diversi modi, a me vengono in mente questi:
    1) Modificare la tabella che usi per la validazione utente aggiugendole una colonna con il nome del DB dell'utente in modo che al login lo leggi immediatamente;

    2) Creare i database con gli username degli utenti;

    3)Trovare un minimo comune denominatore per tutti i nomi dei database in modo per poterli
    ricavare dall'username.

    La migliore, a mio avviso, è la seconda idea.

    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    4
    Originariamente inviato da mirkoagrati
    Ciao,
    si può 'governare' l'abbinamento dell'utente al nome del suo DB subito dopo la fase di login in diversi modi, a me vengono in mente questi:
    1) Modificare la tabella che usi per la validazione utente aggiugendole una colonna con il nome del DB dell'utente in modo che al login lo leggi immediatamente;

    2) Creare i database con gli username degli utenti;

    3)Trovare un minimo comune denominatore per tutti i nomi dei database in modo per poterli
    ricavare dall'username.

    La migliore, a mio avviso, è la seconda idea.

    Ciao
    Mirko intanto grazie 1000 per la risposta. Sono stato un pò in giro e non ho visto la mail.
    Intendi creare i DB nominandoli con lo stesso nome dell'utente? E poi come li governo?
    X Bode: grazie 1000. Il discorso è questo. L'utente deve entrare, vedere i suoi documenti e i suoi soltanto che comprendono PDF, docs, etc.etc. e generare dei PDF tramite uno script che va a prendere i dati da una tabella che contiene valori, nomi, etcetc. In teoria ora ho in mano un DB con 4 tabelle. Gli utenti devono accedere a tutte e 4 ma devono vedere ESCLUSIVAMENTE i propri dati. Per quello avevo pensato di governare il tutto tramite db diversi, come suggerito da Mirko.

    grazie mille ad entrambi

  7. #7
    io agirei in questo modo
    la tabella con username e password saòverà anche il nome del db (che può essere quello che vuoi)
    quindi quando fai il controllo x effettuare il login ricavi il nome del db da utilizare
    per collegarti poi userai sempre la stessa funzione solo che ti collegherai usando la variabile dove ti sei salvato il nome del db in questione....
    ma io però ti do un altro consiglio
    xche non "studiare" in maniera diversa il db? alla fine se un utente effettua login invece di ricavare il nome di un db ricavi il suo id che poi confronti coi dati nelle altre tabelle

    in genere si usa un solo DB relazionale, non ha (a mio dire) molto senso creare piu DB x ogni utente....

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    4
    Originariamente inviato da nmkbeppe
    io agirei in questo modo
    la tabella con username e password saòverà anche il nome del db (che può essere quello che vuoi)
    quindi quando fai il controllo x effettuare il login ricavi il nome del db da utilizare
    per collegarti poi userai sempre la stessa funzione solo che ti collegherai usando la variabile dove ti sei salvato il nome del db in questione....
    ma io però ti do un altro consiglio
    xche non "studiare" in maniera diversa il db? alla fine se un utente effettua login invece di ricavare il nome di un db ricavi il suo id che poi confronti coi dati nelle altre tabelle

    in genere si usa un solo DB relazionale, non ha (a mio dire) molto senso creare piu DB x ogni utente....
    Grande. L'ultima mi piace...ma sono uno newbie....quindi se hai docs o link di esempi a cui fare riferimento te ne sarei eternamente grato. Ho iniziato da 2 mesi con PHP MySQL e tra lavoro e il resto....non riesco a coltivare come vorrei questa nuova "passione".
    Grazie 1000 a te e a tutti i presenti in questo post

  9. #9
    stiamo scrivendo sul forum del sito di riferimento nazionale x quel che riguarda html\programmazione\etc\etc....

    qui sicuramente trovi un'ottima guida
    http://database.html.it/guide/leggi/87/guida-mysql/
    anche se io son piu da guida cartacea....la tentazione di far copia\incolla è sempre troppo grande e non si capisce quel che si fa......parere da poco piu che profano :-D

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.