Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543

    Perchè se modifico alcuni dati nella query, mi viene azzeratala password?

    Buon giorno,
    spero di trovare risposta a questo insolito problema, a mio avviso, molto molto strano.
    Ho un'applicazione che gestisce la registrazione utenti tramite Db MySql.
    Proprio ieri ho aggiunto la possibilità di far modificare i rispettivi profili degli utenti con opportuni controlli.
    Ma, venendo al dunque, l'anomalia è questa: ho due funzioni. Una mi controlla la password e l'altra mi controlla l'email.
    Le richiamo tutte e due
    Codice PHP:
    $this->controllaPass();
    $this->controllaMail(); 
    $this->controllaMail()
    è costituito da un "UPDATE" della query che, nel caso in cui la mail viene cambiata, setta a 0 lo stato dell'utente e cambia la mail.
    Ebbene è questo il problema: se setto lo stato a 0, ecco che la password mi viene modificata.

    Ho effettuato alcuni test:
    - se richiamo solamente $this->controllaMail() la password mi viene lasciata inalterata,
    - se richiamo entrambe le funzioni, ma specifico in $this->controllaMail() di settare lo stato a 2 invece chè a 0, va tutto bene.

    In pratica, da quanto ho capito, il problema si verifica solo se setto a 0 lo stato.

    Riuscite a darmi qualche spiegazione?
    "To iterate is human, to recurse, divine." (R.(Heller))

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    io ho una macchina rossa di una noto marchio tedesco, sapete dirmi dove l'ho parcheggiata? Non me lo ricordo più.

    Ecco, più o meno è la sostanza del tuo post. Chiedi aiuto sul codice? Postalo....
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    bisognerebbe vedere l'update.

    forse con la modifica della mail passi anche il campo password vuoto e l'esecuzione della query non fa altro che applicare quanto richiesto, cioe' azzera la pwd.

    Oppure altro, bisogne vedere la query applicata. Avrai pure un where nell'update, giusto?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543
    query di $controllaPassword() // aggiorna anche altri dati
    Codice PHP:
    {
        
    $update "UPDATE users SET name='$this->nome', cname='$this->cognome', citta='$this->citta',password='$this->password' WHERE username='$_POST[username]'";

    $this->controllaMail() // query che setta a 0 lo stato dell'utente
    Codice PHP:
    {
        
    $update2 "UPDATE users SET email='$newemail', status='0' WHERE id='$_SESSION[username]'";

    Va bene ora?

    Ricapitolando:
    - se richiamo solo la prima funziona, tutto ok;
    - se richiamo solo la seconda funzione ok;
    - se richiamo entrambe le funzioni e setto a 0 lo stato, la password mi viene "sbiancata", cioè svuotata;
    - se richiamo entrambe le funzioni ma setto lo stato ad un valore >0 (2, 3, 50....) tutto ok.

    Perchè?
    "To iterate is human, to recurse, divine." (R.(Heller))

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 © 2024 vBulletin Solutions, Inc. All rights reserved.