Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

Eric
2007-05-19 13:12:03

Je pense avoir trouvé le pourquoi de cette erreur mais une confirmation me mettrait plus à l'aise :

Au moment de la mise à jour des données de configuration de l'utilisateur, la requête fait appel à $userdata['id'] qui serait une remontée de toutes
les infos de l'utilisateur. Et ces infos ne sont pas "compatibles" avec la table #_users de PunBB.

Je n'ai pas trouvé ou était initialisée cette $userdata['id'] dans le code original de PWG.... Je cherche toujours...

flipflip
2007-05-19 09:14:04

Désolé je vois pas d'où peut provenir le problème et surtout je ne me rappel plus comment il marchait le mod :(

Eric
2007-05-19 00:44:15

Salut flipflip et merci pour ta réponse.

oui, l'utilisateur existe. J'ai essayé avec d'autres comptes existant dans la table #_users de PWG et PunBB => Même pb.

flipflip
2007-05-19 00:33:14

Salut, au hasard est ce que cette utilisateur existe dans PunBB ?

Eric
2007-05-19 00:24:13

Salut à tous.

En parallèle du dev Plugin du même nom, je me penche sur le fonctionnement du Mod. Et j'ai remarqué un petit bug (?) lorsqu'un utilisateur inscrit sur ma galerie veut changer un paramètre de son profil (par exemple, la langue de la galerie).

A la soumission du changement de langue, un message d'erreur, très furtif mais bien présent, s'affiche :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in (...)/modules/register_punbb/update_profile.php on line 48

Voici le fichier update_profile.php en question. La ligne 48 marquée entre => et <= :

Code:

// Méthode hashage du mot de passe.
if (function_exists('sha1'))  // Only in PHP 4.3.0+
{
    $password = sha1($_POST['use_new_pwd']);
}
else if (function_exists('mhash'))  // Only if Mhash library is loaded
{
    $password =  bin2hex(mhash(MHASH_SHA1, $_POST['use_new_pwd']));
}
else
{
    $password =  md5($_POST['use_new_pwd']);
}

// Selection de l'id utilisateur dans punBB
$query = '
        SELECT id_user_punbb
        FROM '.MOD_REGISTER_PUNBB_ID
        .' WHERE id_user_pwg = '.$userdata['id'].';
    ';
$result = pwg_query($query);

=> while($row = mysql_fetch_array($result)) <=
{
    // Modification du mail
    $query = '
            UPDATE '.$conf['punbb_prefix'].'users 
            SET email = \''.$_POST['mail_address'].'\'';

            // Si le champs nouveau mot de passe n'est pas vide
            // alors on insert la modification dans la table
            // users de PunBB en hashant le mot de passe.
            if (!empty($_POST['use_new_pwd']))
            {
                $query.= ', password = \''.$password.'\'';
            }
            $query.= ' WHERE id = '.$row['id_user_punbb'].';
        ';
    $result = pwg_query($query);
}

Mes faibles connaissances dans ce domaine me poussent à demander un peu d'aide aux spécialistes. Qu'est ce qui ne va pas avec cette boucle while ? Ou, plutôt, avec mysql_fetch_array, puisqu'il s'agit de cette fonction qui n'est pas reconnue par MySQL ?

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact