Visualizzazione risultati 1 fino 5 di 5

Discussione: Vorrei chiedere un opinione su questo script

  1. #1
    rikkardo non è connesso Neofita
    Data registrazione
    11-02-2008
    Messaggi
    27

    Predefinito Vorrei chiedere un opinione su questo script

    Questa funzione serve per cambiare la password di un utente... sono sicuro che non funziona... Non ho mai fatto una cosa che funziona al primo colpo XD

    Codice PHP:
    function cambiaPassword($vecchiapassword, $nuovapass, $mail) {
    $conn_db = mysql_connect($db_host, $db_user, $db_pass);
    if(!
    conn_db) { die(mysql_error(););
    $cambio = false;
    }
    else {
    mysql_select_db($db_name, $conn_db);
    $query = "UPDATE SET password = '$nuovapass'";
    $query .= "FROM $tbl_name";
    $query .= "WHERE username = '$username', password = '$vecchiapassword', email = '$mail';";
    mysql_query("$query");
    $cambio = true;
    }
    if(!
    $cambio) {
    echo
    "Errore nel cambio della password... Assicurati che i dati siano giusti!"; }
    else {
    echo
    "Cambio avvenuto con successo"; }
    }
    Ultima modifica di rikkardo : 23-12-2008 alle ore 23.26.06

  2. #2
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Nella query
    Codice PHP:
    $query = "UPDATE SET password = '$nuovapass'";
    Hai mancato il nome della tabella:

    UPDATE tabella SET campo = 'valore'

    E
    Codice PHP:
    $query .= "FROM $tbl_name";
    Può essere eliminata, e comunque molto più velocemente potevi fare:
    Codice PHP:
    $query = "UPDATE tabella SET password = '$nuovapass' WHERE username = '$username', password = '$vecchiapassword', email = '$mail'";
    mysql_query("$query");
    O anche direttamente:
    Codice PHP:
    mysql_query("UPDATE tabella SET password = '$nuovapass' WHERE username = '$username', password = '$vecchiapassword', email = '$mail'");
    Comunque la prossima volta prova e se non funziona cerca di capire il problema e alla fine se proprio non va...posta
    Ultima modifica di miki92 : 23-12-2008 alle ore 23.34.09
    Apprezzi l'aiuto? Offrimi un caffè!

  3. #3
    Guest

    Predefinito

    C'è ancora un errore, nella clausola where le condizioni sono concatenate da una virgola e non da un AND o un OR (in questo caso è l'AND che serve).
    Codice PHP:
    $query = "UPDATE tabella SET
    password = '
    $nuovapass'
    WHERE
    username = '
    $username' AND
    password = '
    $vecchiapassword' AND
    email = '
    $mail'";
    mysql_query($query);

  4. #4
    rikkardo non è connesso Neofita
    Data registrazione
    11-02-2008
    Messaggi
    27

    Predefinito

    {per miki92} Ok, ma chiedevo solo un opinione

  5. #5
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Ma tu non hai specificato, nel testo, di che tipo di opinione così mi sono limitato a correggerti quelli che per me erano errori o inutilità.

    Comunque se vuoi un opinione posso dirti che quel codice può diventare più corto ma comunque è buono
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

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