Codice PHP:
$pfc=file($pf);
            list(
$username,$password) = explode(":",$pfc[0]);
            
            
$checksum crypt($_POST['oldpassword'],$password);
            
            
            
            if (
$checksum != $password )
            {
                echo 
$checksum ."!=".$password ."
"
;
                
$errmsg.="La vecchia password inserita non coincide con quella attuale :P";
                
$err=true;
            }
            else
            {
                
$record $_POST['newusername'].":".crypt($_POST['newpassword']);
                
$handle=fopen($pf,'w');
                if (
fputs($handle,$record))
                {    
                    echo 
"Ok";
                }
                else
                {
                    
$errmsg.="Impossibile leggere/scrivere il file [i]".$pf."[/i]: permesso negato
"
;
                    
$err=true;
                }
            } 
questo script prende una parola in kiaro da input, fa un hash in base alla password memorizzata sul file .htpasswd e se sono uguali, conserva l'hash di newpassword...

ora non capisco perché nel primo if la condizione è falsa quando io metto la password corretta, ma mi mostra il messaggio di errore. why?

la sesta riga stampa

$1$U3cg8VzM$wg8LlZ9zQtc45KMeSm12G0 != $1$U3cg8VzM$wg8LlZ9zQtc45KMeSm12G0
notate ke gli hash corrispondono, ma lui mi dice che sono diversi