• User

    Assegnazione login

    Salve a tutti.
    Dovrei realizzare uno script dove posso assegnare delle login che vado a leggere in un db, già caricate.
    Io avevo pensato, all'apertura della pagina veniva aperta una sessione, prelevato un id automaticamente dal db e succesivamente assegnata ad una mail, con succesiovo update del db.
    Come posso procedere?
    Grazie


  • User Attivo

    Ciao ltatas,
    non è chiarissomo quello che vuoi fare...:bho:

    A quanto capisco, dici di avere, ad esempio, 100 accoppiate username-password e vuoi assegnarne una ad un ipotetico iscritto user @ user.ext.

    Quello che farei io è creare un ulteriore campo nella tabella username-password per identificarne l'assegnazione, es:email di tipo varchar, o userid di tipo int.

    Quando un utente fa richiesta di assegnazione non ti resta che fare una query di tipo SELECT su tutta la tabella, con la clausola che il campo email sia libero, LIMIT 1. Quindi, molto semplicemente aggiorni il record restituito (il solo campo email o* userid*) in modo da renderlo non più disponibile.

    Ovviamente se ci dai qualche riga di spiegazione in più possiamo aiutarti con maggiore precisione...
    :ciauz:


  • User

    Vi descrivo quello che voglio fare:
    Apro la session, con una select vado a prendere una login che non è stata assegnata (campo selecion vuoto) ed infine visualizzo la login e password con echo.
    Però nn riesco a visualizzare i campi login e pass, visualizzo il loro ID.
    Dove sto sbagliando?
    Se hai un modo + semplice dimmelo.
    Ti posto il codice.
    Grazie

    <?php
    session_start();
    $db_host = "host";
    $db_name = "dbname";
    $db_user = "user";
    $db_pwd = "password";
    $db_table = "table";
    $connect = mysql_connect($db_host,$db_user,$db_pwd);
    $data_ass =(date("Y-m-d H:i:s"));
    $_SESSION['login'] = $login;

    // Selezione database
    mysql_select_db($db_name, $connect) or die ("Errore nella connessione del Database...");

    $select_login = "SELECT * FROM $db_table WHERE login='$login' AND selection='IS NULL'";

    $query_login = mysql_query ($select_login);
    if (!$query_login)
    {
    die("Errore nella query $query_login: " . mysql_error());
    }
    while($row_login=mysql_fetch_assoc($query_login))

    mysql_close ($connect);

    echo $query_login;

    session_destroy();
    ?>


  • User Attivo

    Bisognerebbe provarlo, ma a botta secca mi viene di chiederti:

    $_SESSION['login'] = $login;

    chi è $login? A quanto capisco è nullo. Ne discende che la query:
    $select_login = "SELECT * FROM $db_table WHERE login='$login' AND selection='IS NULL'";

    ha poco senso.

    Inoltre $row_login dovrebbe essere un array e con echo ci fai poco. In più, se la query ha più risultati con il while potresti fare confusione (non si capisce bene dallo script).

    Prova a fare un po' di debug e a cambiare lo script in:

    [php]
    <?php
    session_start();
    $db_host = "host";
    $db_name = "dbname";
    $db_user = "user";
    $db_pwd = "password";
    $db_table = "table";
    $connect = mysql_connect($db_host,$db_user,$db_pwd);
    $data_ass =(date("Y-m-d H:i:s"));

    // Selezione database
    mysql_select_db($db_name, $connect) or die ("Errore nella connessione del Database...");

    $select_login = "SELECT * FROM $db_table WHERE selection='IS NULL' LIMIT 1";

    $query_login = mysql_query ($select_login) or die ("Errore nella query $query_login: " . mysql_error());

    $row_login=mysql_fetch_assoc($query_login);
    var_dump($row_login);
    mysql_close ($connect);

    ?>
    [/php]Ovviamente var_dump($row_login); l'ho scritto perché non conosco i campi, dovrai poi modificare la visualizzazione secondo le esigenze...

    :ciauz: