Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema riguardo il link di conferma account via email

    Ciao a tutti, ho un problema con una parte di codice, riguarda la funzione che cliccando il link arrivato per email fa attivare l'account. Io quando clicco sul link mi dice poi che il codice di conferma è errato.
    La funzione è la seguente, e non sono sicuro che sia qui l'errore.
    Potete darmi una mano?

    Grazie

    codice:
     function UpdateDBRecForConfirmation(&$user_rec)    {
            if(!$this->DBLogin())
            {
                $this->HandleError("Fallito il login col DB!");
                return false;
            }   
            $confirmcode = $this->SanitizeForSQL($_GET['code']);
            
            $result = mysql_query("Select name, email from $this->tablename where confirmcode='$confirmcode'",$this->connection);   
            if(!$result || mysql_num_rows($result) <= 0)
            {
                $this->HandleError("Codice di conferma errato.");
                return false;
            }
            $row = mysql_fetch_assoc($result);
            $user_rec['nome'] = $row['nome'];
            $user_rec['email']= $row['email'];
            
            $qry = "Update $this->tablename Set confirmcode='y' Where  confirmcode='$confirmcode'";
            
            if(!mysql_query( $qry ,$this->connection))
            {
                $this->HandleDBError("Error inserting data to the table\nquery:$qry");
                return false;
            }      
            return true;
        }

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    stampa la query e vedi cosa ne esce. magari è quella che fallisce.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    Perdona la mia ignoranza, ma sono un novellino del PHP. Cosa intendi col stamparla ? La query la visualizzo nella email ma il link che poi clicco mi porta alla pagina giusta ma con messaggio che il codice è sbagliato, provo anche ad inserirlo manualmente (perché la pagina a cui mi manda ha un form dove posso inserire manualmente il codice di conferma) ma mi viene detto che è sbagliato nonostante lo abbia preso direttamente dal database. Penso il problema sia nel confronto del codice, ma non trovo l'errore.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    fai
    Codice PHP:
    echo "Select name, email from $this->tablename where confirmcode='$confirmcode'";
    exit; 
    e vedi se la query che viene stampata a video è corretta o se è sbagliata.
    Per sicurezza copiala, incollala ed eseguila su phpmyadmin, così te lo proprio dice se e dove c'è l'errore.

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.