View Issue Details

IDProjectCategoryView StatusLast Update
0000775NOALYSSBugpublic2013-01-30 23:47
Reportersaniregul Assigned Todanydb  
PrioritybasseSeveritymineurReproducibilitytoujours
Status ferméResolutionimpossible à reproduire 
PlatformPCOSLinux DebianOS Version2.6.32-5-amd64
Summary0000775: Problème de mot de passe contenant des caractères accentués
DescriptionIl n'est pas possible de se connecter sous le compte phpcompta si auparavent l'on a changé son mot de passe et que ce dernier contient un caractère accentué, Zéphir par exemple.
Steps To ReproduceDifférents essais réalisées

 - avec les caractères é ou à ou sans caractères accentués.

 - en changeant le mot de passe via :
     -- le menu ( Préférences )
       ou
     -- directement dans la base* ( update ac_users set use_pass=md5('TONPASSWORD') where use_login='phpcompta'; )
Additional Information* cette commande permet de revenir à un mot de passe fonctionnel
TagsNo tags attached.
Extension Noalyss

Activities

danydb

2013-01-06 00:49

administrator   ~0001698

Je viens d'essayer et cela fonctionne, donc le bug doit venir de ta config apache qui n'aime pas l'unicode.

Comment as-tu installé phpcompta ?

saniregul

2013-01-06 08:42

developer   ~0001699

Last edited: 2013-01-06 08:43

(: c'est manifestement plus complexe, je viens d'essayer sur une base test avec le code ci-dessous ( avec ou sans md5 ), cela fonctionne ... cela ne semble donc pas venir d'apache.

J'ai installé phpcompta sans pb, cad par simple copie du répertoire en question dans mon arborescence web locale, postgresql était déjà opérationnel.

---------- le code qui fonctionne ---------------------

<div name="changmdp4" id="changmdp4" class="cachediv">

    <form method="post" action="">
        Mot de passe actuel : <input type="password" name="amdp" >


        Nouveau mot de passe : <input type="password" name="nmdp" >


        Verification mot de passe : <input type="password" name="vmdp" >


        <input type="submit" name="submit" value=" Envoyer ">
    </form>

    <?php
        if( isset($_POST['submit']) ){
        $amdp=$_POST['amdp'];$nmdp=$_POST['nmdp'];$vmdp=$_POST['vmdp'];
        $login=$_SESSION['login'];
            if (($amdp!='')&&($nmdp!='')&&($vmdp!='')) {

                 $sql = "SELECT pwd,actif,userid FROM users WHERE login = '".$login."'";
                $result = db_query_e('a',$cnx, $sql,"Connexion erreur - Veuillez nous contacter");
                if ( pg_num_rows($result) == 0 ) { die("<font color=black>Passwd : Login inconnu
"); }
                $pwd=db_fetch_result($result,0,0);
                if ( (!$pwd_md5 and $amdp <> $pwd) or ($pwd_md5 and md5($amdp) <> $pwd) ) { echo 'Le mot de passe actuel n\'est pas valide'; }
                else if ($nmdp==$amdp) { echo "Le nouveau mot de passe doit être différent de l\'ancien"; }
                else if ($nmdp<>$vmdp) { echo 'Erreur entre le nouveau mot de passe entré et la verification'; }
                else if (strlen($nmdp)<6 ) { echo "Le mot de passe doit comporter au moins 6 caractères alphanumériques"; }
                else {
                    if ( $pwd_md5 ) { $nmdp=md5($nmdp); }
                    $sql="UPDATE users SET pwd='$nmdp',date_maj=NOW() where login='$login'";
                    db_query_e('a',$cnx, $sql,'');
                    echo 'Modification du mot de passe effectué avec succes';
                }
            } else { echo 'Veuillez remplir tous les champs'; }
        }
    ?>

</div>

danydb

2013-01-30 23:47

administrator   ~0001714

impossible à reproduire.

Issue History

Date Modified Username Field Change
2013-01-05 09:44 saniregul New Issue
2013-01-06 00:49 danydb Note Added: 0001698
2013-01-06 08:42 saniregul Note Added: 0001699
2013-01-06 08:43 saniregul Note Edited: 0001699
2013-01-06 08:43 saniregul Note Edited: 0001699
2013-01-30 23:47 danydb Note Added: 0001714
2013-01-30 23:47 danydb Status new => closed
2013-01-30 23:47 danydb Assigned To => danydb
2013-01-30 23:47 danydb Resolution open => unable to reproduce