Visualizzazione risultati 1 fino 29 di 29
Like Tree1Likes
  • 1 Post By

Discussione: CREAZIONE DATABASE con utenti

  1. #1
    Guest

    Predefinito CREAZIONE DATABASE con utenti

    Salve ragazzi ho bisogno d aiuto devo creare un database per uno studio medico chi mi può aiutare ? Grazie

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Su altervista puoi utilizzare mysqlite o mysql. Con il primo, visto che è gestito con file di testo, puoi creare quanti database vuoi ma è meno performante. Invece, utilizzando mysql puoi utilizzare soltanto un database, che nel tuo caso si chiama "my_KeRmIt1"; vedi qui.

    Ciao!

  3. #3
    Guest

    Predefinito

    No io ho il database pronto e funzionante ma vorrei dei chiarimenti ad esempio :

    Dopo che l utente è registrato visualizzo :profilo.php

    Nome utente

    Email

    User id
    E fin qui tutto bene


    Ma se aggiungo una riga no. Riesco a far stampare a video e mi da errore get Connectition

  4. #4
    Guest

    Predefinito

    Preciso meglio mi stampa a video solo le informazioni basate sulla registrazione utente ma se voglio inserire altri dati come faccio ?

  5. #5
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Che script stai utilizzando?
    In generale, per salvare altri dati dovresti fare altre colonne nel database.

    Ciao!

  6. #6
    Guest

    Predefinito

    Allora sto usando l esempio base da questo sito :

    http://soulcanada.altervista.org/blo...98223876953125

  7. #7
    Guest

    Predefinito

    Da questo esempio sono riuscito a collegare al mio database e funziona perfettamente dopo aver corretto un paio d errori sulla connessione ma adesso se voglio inserire ad esempio un altro campo non mi stampa a video le informazioni sul campo creato

  8. #8
    Guest

    Predefinito

    Se lo lascio così stampa solo nome , email e id . Se inserisco nuovo campo (testo medicina ) nel database e le inserisco nella pagina profilo view e model x farle stampare a video mi stampa solo questo :

    Pagina profilo di Marco Pippo

    ID Utente: 1
    Indirizzo email: marcopippo@libero.it
    Nome: Marco Pippo
    testo medico: ( questo campo non. Lo stampa )

    Esegui il logout

    Modello: models/profile.php
    Vista: views/profile.php
    Pagina pubblica: profile.php
    La pagina Profilo serve per stampare a video le informazioni dell'utente loggato nel sistema.

    Le informazioni presenti in questa pagina sono prese direttamente dalla sessione ma è possibile includere tutti i dati che volete.

    Ogni utente visualizza solamente le informazioni relative al proprio account e non le informazioni relative ad altri utenti.
    Ultima modifica di KeRmIt1 : 06-06-2014 alle ore 01.43.01

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    puoi mostrare il codice interessato che stai usando e che hai modificato?

    Ciao!

  10. #10
    Guest

    Predefinito

    D'accordo

    Codice PHP:
    1
    <h1>Pagina profilo di <?php echo $userName; ?></h1>
    2
    <ul>
    3
    <li><strong>ID Utente: </strong><?php echo $userId; ?></li>
    4
    <li><strong>Indirizzo email: </strong><?php echo $userEmail; ?></li>
    5
    <li><strong>Nome: </strong><?php echo $userName; ?></li>
    6
    <li><strong>testo medico: </strong><?php echo $testoMedico; ?></li> ------>>>//* è questo il punto che intendo io
    7
    </ul>
    8
    <a href="logout.php">Esegui il logout</a>
    9
    <hr/>
    10
    <ul>
    11
    <li><strong>Modello: </strong>models/profile.php</li>
    12
    <li><strong>Vista: </strong>views/profile.php</li>
    13
    <li><strong>Pagina pubblica: </strong>profile.php</li>
    14
    </ul>
    15
    <hr/>
    16
    <p>La pagina Profilo serve per stampare a video le informazioni dell'utente loggato nel sistema.</p>
    17
    <p>Le informazioni presenti in questa pagina sono prese direttamente dalla sessione ma
    18
    &egrave; possibile includere tutti i dati che volete.</p>
    19
    <p>Ogni utente visualizza solamente le informazioni relative al proprio account e non le informazioni
    20
    relative ad altri utenti.</p>
    Questa che ho inserito ë la pagina profilo.php contenuta nella cartella view

    Codice PHP:
    1
    <?php
    2

    3

    4
    /*
    5
    * Utilizzando la sessione, recupero le
    6
    * informazioni di base dell'utente e,
    7
    * tramite la vista, le stampo a video
    8
    */
    9

    10

    11

    12
    $userId
    = sessionGetInformation('user_id');
    13

    14
    $userEmail
    = sessionGetInformation('email');
    15

    16
    $userName
    = sessionGetInformation('name');
    17

    18
    $testoMedico
    =sessionGetInformation('testomedico ');
    19
    Questa é invece il modello sono collegate tra loro

    E questo po' quel che succede in quella pubblica




    Codice PHP:
    1
    <?php
    2

    3
    // includo le funzioni per gestire le sessioni
    4
    require_once 'inc/session.php';
    5

    6
    // faccio partire la sessione
    7
    sessionStart
    ();
    8

    9
    // Controllo se l'utente loggato e, nel caso
    10
    // non sia loggato, lo rimando alla pagina di login
    11
    if (false == sessionUserIsLogged())
    12
    {
    13
    header
    ('Location: login.php');
    14
    }
    15

    16
    // includo il modello per la pagina del profilo
    17
    require_once 'models/profile.php';
    18

    19
    // includo la vista per la pagina del profilo
    20
    require_once 'views/profile.php';
    21

    22
    ?>
    Questo é tutto :) e grazie sempre
    Ultima modifica di alemoppo : 06-06-2014 alle ore 15.40.42 Motivo: unione messaggi

  11. #11
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Non conosco il funzionamento dello script, ma immagino dal nome che la funzione sessionGetInformation() prenda i dati dalla sessione. Quindi, al login, questi dati vengono salvati nella sessione? Hai inserito nel database la colonna per salvare queste informazioni? E queste informazioni vengono salvate nel database?
    Inoltre, occhio che:
    Codice PHP:
    $testoMedico =sessionGetInformation('testomedico ');
    Contiene uno spazio alla fine.

    P.s: NON fare una risposta per ogni frase, altrimenti impiego più tempo a sistemare tutto invece che a rispondere. Se vuoi aggiungere dei contenuti, modifica il messaggio precedente.

    Ciao!
    Ultima modifica di alemoppo : 06-06-2014 alle ore 15.47.53

  12. #12
    Guest

    Predefinito

    Si esatto li ottiene dalla sessione ma ...

    Codice PHP:
    $testoMedico =sessionGetInformation('testomedico'); ---> nessun errore ho sbagliato a inserire qui ma è corretto :)


    Questa riga l ho aggiunta io da manuale sul database quindi quest ultima non fa parte della sessione di login ma l ho aggiunta io successivamente quindi come faccio a richiamarla ?
    Ultima modifica di KeRmIt1 : 06-06-2014 alle ore 16.17.31

  13. #13
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Per salvare nuovi dati sul database, devi aggiungere la colonna per scriverci. Poi al momento della registrazione (o quando vuoi, dipende da quel che vuoi fare), devi inserire il dato nel database.
    Quando l'utente effettua il login, devi caricare anche questo dato nella sessione, e poi puoi usare la sessionGetInformation() per prendere l'informazione (o almeno penso, vedendo il nome della funzione).

    Se salti una di queste cose qua sopra, ovviamente non funzionerà correttamente.

    Sei in grado di verificare queste cose o necessiti di un aiuto?

    Ciao!

  14. #14
    Guest

    Predefinito

    No ho bisogno d aiuto da cosa bisogna cominciare ?

  15. #15
    Guest

    Predefinito

    Ok sono riuscito a capirlo il codice ma adesso ho un altro problema :

    Come faccio a creare il codice per far recuperare la password ad un utente ?

  16. #16
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Partendo dal presupposto che le password non vanno salvate in chiaro sul database, non dovresti esser in grado di recuperare la password originaria. Quindi un modo è quello di generare una password random, aggiornare il database e inviare la password ad esempio tramite email all'utente.

    Ciao!

  17. #17
    Guest

    Predefinito

    Si ma deve essere l utente a modificarla non devo farlo io da manuale come devo scrivere il codice ?

  18. #18
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Deve pensarci PHP, ovviamente...

    Ciao!

  19. #19
    Guest

    Predefinito

    Un aiuto no ?

  20. #20
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Beh sì, ma così genericamente è difficile aiutarti, anche perché oltre a non conoscere come hai impostato lo script, non so come vuoi effettuare il recupero con precisione.

    In generale per avere una linea puoi guardare il file "recupero.php" di questo scriptino che avevo fatto.

    Ovviamente se incontri problemi o non riesci a capir qualcosa facci sapere.

    Ciao!

  21. #21
    Guest

    Predefinito

    Ti posso caricare lo script così puoi aiutarmi meglio

  22. #22
    Guest

    Predefinito

    Cosa aspetti? :-)

  23. #23
    Guest

    Predefinito

    Altermetax sei interessato al codice ? ������

  24. #24
    Guest

    Predefinito

    Ok, se vuoi carica il codice così creiamo un file per il recupero.. intanto vediamo il funzionamento di recupero.php di alemoppo:
    Codice PHP:
    <?php
    /*
    © by alemoppo (Moroni Alessandro)
    */
    if(isset($_POST['user'],$_POST['email']))
    {
    require(
    './config.php');
    require_once(
    './funzioni.php');
    $procedi = FALSE;
    if(!empty(
    $_POST['user']))
    {
    $username = mysql_real_escape_string($_POST['user']);
    $q = mysql_query('SELECT email FROM utenti WHERE username = \''.$username.'\' LIMIT 1');
    if(!
    $q)
    echo
    'Errore durante la query 1'.mysql_error();
    if(
    mysql_num_rows($q) != 1)
    {
    echo
    'Nessun utente '.$_POST['user'].' trovato. <br>';
    }
    else
    {
    $row = mysql_fetch_assoc($q);
    $email = $row['email'];
    $procedi = TRUE;
    }
    }
    else if(!empty(
    $_POST['email']))
    {
    $email = mysql_real_escape_string($_POST['email']);
    $q = mysql_query('SELECT username FROM utenti WHERE email=\''.$email.'\' LIMIT 1');
    if(!
    $q)
    echo
    'Errore durante la query1: '.mysql_error();
    if(
    mysql_num_rows($q) != 1)
    {
    echo
    'Nessuna email '.$_POST['email'].' trovata. <br>';
    }
    else
    {
    $row = mysql_fetch_assoc($q);
    $username = $row['username'];
    $procedi = TRUE;
    }
    }
    else
    echo
    'Occorre inserire o username, o email.<br>';

    if(
    $procedi)
    {
    $new_pass = stringa_random();
    $attivazione = stringa_random();
    $q = mysql_query('UPDATE utenti SET pass = \''.md5($new_pass).'\', attivazione=\''.$attivazione.'\' WHERE username = \''.$username.'\'');
    if(!
    $q)
    echo
    'Errore durante la query2: '.mysql_error();
    else
    {
    $oggetto = 'Reset password';
    $testo = "Reset effettuato correttamente.\n\nNuova password: $new_pass\n(potrai modificarla)\n\nUtente: $username\n\nVisita questo indirizzo per confermare:\nhttp://".$_SERVER['SERVER_NAME'].'/'.cartella()."iscrizione.php?riatt=".$attivazione."\n";
    if(!
    mail($email,$oggetto,$testo,HEADER_MAIL))
    echo
    'Errore invio durante email';
    else echo
    'Abbiamo inviato un email con la nuova password generata automaticamente. Prima che diventi attiva, occorre confermare dall\'email.<br>';
    }
    }
    mysql_close($db);
    }
    ?>
    Immetti nome utente o email per ricevere via email una nuova password:
    <form name="login" method="post" action="<?= $_SERVER['PHP_SELF']; ?>">
    <table style="cellpadding:5px; background-color:<?php require_once('./funzioni.php'); echo colore(); ?>" >
    <tr><td>Username:</td><td><input type="text" name="user"></td></tr>
    <tr><td>email:</td><td><input type="text" name="email"></td></tr>
    <tr><td align="center" colspan="2"><input type="submit" value="Invia" name="submit"></td></tr>
    </table>
    </form>
    All' inizio controlla che sia già stato usato il form (if(isset($_POST['user'],$_POST['email']))), poi carica funzioni.php e config.php, se è stato inserito il nome utente tira fuori dal database l' email, se è stata inserita l' email tira fuori il nome utente, poi crea una nuova password random, invia una email all' indirizzo dell' utente. Se il form non è stato usato lo mostra e chiede di inserire i dati. (Grazie alemoppo per aver scritto codice ben leggibile).
    Ciao!
    PS Non usare questo codice! Infatti per funzionare richiede funzioni.php e config.php!!!
    alemoppo likes this.

  25. #25
    Guest

    Predefinito

    Lo carico entro lunedì :)

  26. #26
    L'avatar di soulcanada
    soulcanada non è connesso Utente giovane
    Data registrazione
    12-08-2011
    Messaggi
    75

    Predefinito

    Citazione Originalmente inviato da KeRmIt1 Visualizza messaggio
    Ok sono riuscito a capirlo il codice ma adesso ho un altro problema :

    Come faccio a creare il codice per far recuperare la password ad un utente ?
    A questa discussione mi aggrego anch'io dato che lo script che si sta utilizzando l'ho creato io ed è correlato ad una guida che ne spiega passo passo il funzionamento.

    Per il recupero della password (esattamente come vuoi farla tu) ti basta leggere La pagina di cambio password che spiega nel dettaglio quali operazioni devi fare per ottenere quello che vuoi inoltre, nello script, sono presenti già tutte le funzioni che ti serviranno per implementare il codice.

  27. #27
    Guest

    Predefinito

    Ciao soulcanada non credevo che fossi ancora operativo :D , ne approfitto x farti i complimenti , ho una discreta esperienza in c++ ma il mysql non lo avevo mai toccato come argomento ho imparato molto ed é stato molto costruttivo :) detto questo ritorniamo al discorso :

    Ho capito e letto il discorso base e se ho capito bene dovrei creare dei blocchi if - else che controllato il Token e la email corrispondente é giusto come ragionamento ?


    Si ho visto che contiene gli script ma devo ancora capire il concetto di come collegare il tutto mysql é simile al c++ ma differisce in alcuni punti base :)
    Ultima modifica di KeRmIt1 : 16-06-2014 alle ore 03.18.18

  28. #28
    L'avatar di soulcanada
    soulcanada non è connesso Utente giovane
    Data registrazione
    12-08-2011
    Messaggi
    75

    Predefinito

    Citazione Originalmente inviato da KeRmIt1 Visualizza messaggio
    Ciao soulcanada non credevo che fossi ancora operativo :D , ne approfitto x farti i complimenti , ho una discreta esperienza in c++ ma il mysql non lo avevo mai toccato come argomento ho imparato molto ed é stato molto costruttivo :) detto questo ritorniamo al discorso :

    Ho capito e letto il discorso base e se ho capito bene dovrei creare dei blocchi if - else che controllato il Token e la email corrispondente é giusto come ragionamento ?


    Si ho visto che contiene gli script ma devo ancora capire il concetto di come collegare il tutto mysql é simile al c++ ma differisce in alcuni punti base :)
    Grazie per i complimenti e comunque si, sono sempre attivo anche se non sempre mi faccio sentire.

    Tornando al discorso si, devi dapprima controllare l'esistenza del token nel database e a quel punto puoi mostrare il form per consentire il cambio password; una volta sottomesso il form rifai il controllo sul token in modo da avere la corrispondenza dell'utente nel database e solo allora puoi aggiornare la password.

  29. #29
    Guest

    Predefinito

    Ok soulcanada ho caricato il form e funziona l utente riceve la mail x aver la conferma che é lui l utente che ha fatto la richiesta e cliccando sul l k lo reindirizza al form cambio password adesso sta qui il problema XDnon credo che basti fare la sommatoria ==0 errori
    Ultima modifica di KeRmIt1 : 16-06-2014 alle ore 15.21.39

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •