Visualizzazione risultati 1 fino 14 di 14

Discussione: query mysql...select?

  1. #1
    Guest

    Exclamation query mysql...select?

    io ho creato una piccola comunità....
    ho anche fatto uno script per recuperare la password....però me ne intendo poco di query e non mi viene...... :?????:
    in poche parole uno inserisce il prorpio indirizzo email e la password viene mandata all'indirizzo inserito...solo che a volte mi manda la mail senza password.. .in altre la pass è: Resource #1 o qualcosa del genere....lo script che dovrebbe mandare la pass è questo:
    $email = $_POST['email'];

    $sql = "SELECT decrypted_password FROM users WHERE email_address=$email";
    $query = mysql_query($sql);
    $dati = mysql_fetch_array($query);

    $pass = $dati;

    $message = "La tua password è: $pass";

    if(empty($email)){
    echo 'Inserire l\'indirizzo email';
    } else {
    mail($email, 'Recupero password', $message, "From: Monecalcio");
    echo 'La mail è stata spedita con successo all\'indirizzo indicato. Se la password non dovesse arrivarti entro 24 ore contatta il webmaster';
    }
    qualcuno sa come aiutarmi???

  2. #2
    Guest

    Predefinito

    nessuno??? per favore....

  3. #3
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    I casi possono essere 2
    O non ci sono mail di quel tipo nel DB
    O trova più di un entry.
    Quella funzione restituisce un array, magari è quello il problema!
    Prova con qualcosa del tipo

    while ($dati = mysql_fetch_array($query)){
    $pass = $dati[0];
    ..magari ci aggiungi un controllo
    }
    Così dovrebbe funzionare(altrimenti prova con mysql_fetch_row che è leggermente più veloce).

    PS
    SICUREZZA
    Ricordati di fare un controllo sullavariabile email passata perchè potrebbero usarla come attacco.
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  4. #4
    Guest

    Unhappy

    no, no la mail arriva....semplicemente che non mi dice la pass giusta...con quello che mi hai consigliato mi arriva la pass per entrare in my-admin!!!!! :?????:
    possibile che nessuno abbia mai avuto bisogno di recuperare un dato dal proprio database?

  5. #5
    Guest

    Predefinito

    mhmmm perchè passi $dati in $pass?
    secondo me è un passaggio inutile e oltrettutto credo ti dia Resource #1 perchè è un array... basta mettere $dati[decrypted_password] al posto di $pass e dovrebbe andare... almeno credo :D
    cmq dovresti mettere un controllo per vedere se la mail è stata trovata nel dbase altrimenti se uno sbaglia a scrivere la mail gli viene fuori la scritta "La mail è stata spedita... etc.etc." e la mail non gli arriva manco se paga :D

    ciauz

  6. #6
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Citazione Originalmente inviato da Necrox
    no, no la mail arriva....semplicemente che non mi dice la pass giusta...con quello che mi hai consigliato mi arriva la pass per entrare in my-admin!!!!! :?????:
    possibile che nessuno abbia mai avuto bisogno di recuperare un dato dal proprio database?
    Guarda che quello che ho scritto io è la stessa identica cosa di quella scritta da te!
    Se ti arriva la pass di myadmin significa che hai sbagliato la query(l'hai messa vero?)!
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  7. #7
    Guest

    Thumbs down

    io ho messo questo:
    $sql = "SELECT decrypted_password FROM users WHERE email_address=$email";
    $query = mysql_query($sql);
    while ($dati = mysql_fetch_array($query)){
    $pass = $dati[0];
    }

    $message = "La tua password è: $pass";
    ora....non so se sia giusto o meno...dato che il php lo so usare benino ma non benissimo....e le query non so neanche cosa siano
    so che TEORICAMENTE un qualcosa di questo genere dovrebbe restituire la password dell'utente che ha come indirizzo email '$email'.
    invece mi dice la password per entrare in my-admin!!!!
    Sto iniziando a pensare di essere scemo....

  8. #8
    Guest

    Predefinito

    $pass = $dati['decrypted_password'];
    Ultima modifica di neoscript : 28-11-2004 alle ore 16.36.42

  9. #9
    Guest

    Unhappy

    già fatto...il risultato è lo stesso....

  10. #10
    Guest

    Predefinito

    No neoscript, se fetcha con array va bene anche l'indice numerico!

    Secondo me è sbagliata la query, così dovrebbe andare:

    $sql = "SELECT decrypted_password FROM users WHERE email_address='$email'";

    Cioè ho aggiunto il singol quote alla var $email.


    ciaoooooo!!!!!!!

  11. #11
    Guest

    Predefinito

    che struttura ha la tabella?

  12. #12
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Potrebbe essere l'uguale che da problemi con le stringhe in mySQL..
    Prova
    $sql = "SELECT decrypted_password FROM users WHERE email_address LIKE '$email'";
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  13. #13
    Guest

    Predefinito

    per quel che so è indifferente usare = o LIKE... cmq tentar non nuoce :D

  14. #14
    Guest

    Predefinito

    perfetto grazie!!!! ora funzia!!!!
    credo che il problema stesse nelle virgolette....ma probabilmente anche il 'like' ha dato il suo aiuto!! :grin:
    grazie mille a tutti!!!

Regole di scrittura

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