Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662

    Problema con query/controllo

    Ciao a tutti, posso chiedervi un aiutino su questo codice?:

    Codice PHP:
    <?php
    include_once 'newuser.class.php';
     
    class 
    NewPassword extends NewUser
    {
        public function 
    SendPassword()
        {
            
            if(
    $this->EmailCheckEmpty())
            {
                
    $_SESSION['erremail']=1;
                
    header("Location: ?page=new_pass");
                die;
            }
            
            elseif(
    $this->EmailCheckCorrect())
            {
                
    $_SESSION['erremail']=2;
                
    header("Location: ?page=new_pass");
                die;
            }
            elseif(
    $this->EmailExists())
            {
                
    $tempmail $_POST[email];
                
    $query_mail "SELECT ver FROM users WHERE email=$tempmail";
                
    $result_mail mysql_query($query_mail,$connect);
                while ( 
    $row mysql_fetch_array($result_mailMYSQL_ASSOC) )
                {
                    
    $vercheck $row['ver'];
                }
                
                if(
    $vercheck=='1'){
                    
    $newkey $this->GetKey();
                    
    $this->DbConnect();
                    
                    
    $query "UPDATE users SET key_control='$newkey' WHERE email='$_POST[email]'";
                    
    mysql_query($query,$this->conn);
                    
    mysql_close($this->conn);
                    
                    
    $body "Starfantasy\r\n\r\n";
                    
    $body "Hai richiesto una nuova password. Clicca sul link quì in basso per modificare la tua password:\r\n\r\n";
                    
    $body .= "http://www.sit.it/?page=change&pass=" $newkey;
         
                    
    mail($_POST['email'], "Richiesta nuova password"$body"From: io<miomail@me.com>");
                    
    header("Location: ?page=newpass_ok");
                    
    mysql_close($this->conn);
                    
    session_destroy();
                    return;
                }
                
                else
                {
                    
    $_SESSION['erremail']=5;
                    
    header("Location: ?page=new_pass");
                    die;
                }
                
            }
            
            else
            {
                
    $_SESSION['erremail']=4;
                
    header("Location: ?page=new_pass");
                die;
            }
        }
     
    ?>
    In pratica fa alcuni controlli, ma quello che mi interessa è verificare se il campo ver nella tabella users del database sia impostato a 1. - dopo: elseif($this->EmailExists()) -
    Se si, esegui lo script, se no $_SESSION['erremail']=5;

    Il problema è che anche se l'utente ha impostato 1 nel campo ver salta l'if e va direttamente ell'else ( $_SESSION['erremail']=5; )

    Non capisco, c'è qualche errore di scrittura? (abbiate pietà, sono novello)
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    posta il codice del metodo EmailExists

    come non detto non serve

  3. #3
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662
    Codice PHP:
    protected function EmailExists()
            {
                
    $this->DbConnect();
                
    $sql "SELECT * FROM users WHERE email='$_POST[email]'";
     
                
    $res mysql_query($sql$this->conn);
                if(
    $row mysql_fetch_array($res))
                {
                    
    mysql_close($this->conn);
                    return 
    TRUE;
                }
                else
                {
                    
    mysql_close($this->conn);
                    return 
    FALSE;
                }
            } 
    Ma questo lo uso già come validazione dell'email nel form di registrazione e funziona bene
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    prova così a vedere cosa Stampa

    Codice PHP:
                while ( $row mysql_fetch_array($result_mailMYSQL_ASSOC) ) 
                { 
                    
    $vercheck $row['ver']; 
                } 
                
                 echo 
    "vercheck="$vercheck ;
                if(
    $vercheck=='1'){ 
                    
    $newkey $this->GetKey(); 
                    
    $this->DbConnect(); 
                     
                    
    $query "UPDATE users SET key_control='$newkey' WHERE email='$_POST[email]'"
                    
    mysql_query($query,$this->conn); 
                    
    mysql_close($this->conn); 
                     
                    
    $body "Starfantasy\r\n\r\n"
                    
    $body "Hai richiesto una nuova password. Clicca sul link quì in basso per modificare la tua password:\r\n\r\n"
                    
    $body .= "http://www.sit.it/?page=change&pass=" $newkey
          
                    
    mail($_POST['email'], "Richiesta nuova password"$body"From: io<miomail@me.com>"); 
                    
    header("Location: ?page=newpass_ok"); 
                    
    mysql_close($this->conn); 
                    
    session_destroy(); 
                    return; 

  5. #5
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    metti gli apici nella select

    Codice PHP:
      $query_mail "SELECT ver FROM users WHERE email='$tempmail'"

  6. #6
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662
    Scusami stefano... per capire perchè ho una serie di pagine incatenate.

    Hai aggiunto solo echo "vercheck=". $vercheck ;?
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

  7. #7
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    si e poi ti ho detto di aggiungere gli apici alla select ^_^

  8. #8
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662
    Niente, anche con gli apici passa direttamente all'else.

    Temo però che non riesca a recuperare il valore di ver
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

  9. #9
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    aggiungi anche
    Codice PHP:
     echo "email="$_POST['email']; 
    sicuro che passi in post? ovvero dalla barra degli indirizzi?

  10. #10
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Codice PHP:
    $tempmail $_POST[email]; 
    mancano gli apici

    Codice PHP:
    $tempmail $_POST['email']; 

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