Fork me on GitHub






serialize et config
Régulier
Inscrit: 02/09/2011 10:06
Messages: 146
slt
j'ai un petit soucis ,
je souhaite récupérer des informations de config dans la base de donnée, jusque la avec xoops pas de soucis, mais en faite ,je les récupères a partir d'un sous domaine, qui n'utilise pas xoops. j'appel donc la db directement avec pdo, je recupère mon résultat qui est nu tableau sérialisé, mais lorsque je le desérialise , j'ai l'erreur courante :
error offset .....

je ne sait pas trop comment m'en sortir.... pourtant lorsqu'il edite les preference de mon module il m'affiche correctement les données, je cherche ou xoops serialise les conf de mon module mais je ne trouve pas.

je ne sait pas si j'ai était clair

merci A+

Posté le : 09/01/2012 18:10
Partager Twitter Partagez cette article sur GG+
Re: serialize et config
Régulier
Inscrit: 02/09/2011 10:06
Messages: 146
re
j'ai trouver la class responsable de la recuperation des conf et de son traitement
function getConfValueForOutput()
    {
        switch (
$this->getVar('conf_valuetype')) {
            case 
'int':
                return 
intval($this->getVar('conf_value''N'));
                break;
            case 
'array':
                
$value = @unserialize($this->getVar('conf_value''N'));
                return 
$value $value : array();
            case 
'float':
                
$value $this->getVar('conf_value''N');
                return (float) 
$value;
                break;
            case 
'textarea':
                return 
$this->getVar('conf_value');
            default:
                return 
$this->getVar('conf_value''N');
                break;
        }
    }


ds la partie qui m'interresse quand il s'agit d'un array, il font bien un unserialize,
je ne comprend pas pourquoi chez moi j'ai une erreur...
merci A+

Posté le : 09/01/2012 18:35
Partager Twitter Partagez cette article sur GG+
Re: serialize et config
Team FrXoops
Inscrit: 14/05/2004 22:32
Messages: 2554
Bonsoir
Jamais fait ce genre de truc, mais ça m’intéresse aussi.
JJDai

Posté le : 09/01/2012 18:49

Ne pas perdre patience, même si cela semble impossible, c'est déjà de la patience.
Origami
Conseil des Sages
Sur gitHub
Partager Twitter Partagez cette article sur GG+
Re: serialize et config
Régulier
Inscrit: 02/09/2011 10:06
Messages: 146
re
je viens donner qq nouvelles;

le problème ne viens pas de xoops directement, en fait il semble que c'est un problème d'encodage, j'avoue que l'encodage a tendance a me les ......; mais bon ont vas trouver.

en tous cas unserialize fonctionne coreectement, j'ai fait le test en lui donnant la chaine avec un copier coller ca marche , mais quand cela vient de la bd il plante, pourtant ma table est bien en utf8-gen.
je rencontre depuis quelque tps un soucis avec l'encodage , je pensait que ca venait de mon ide Netbean , mais bon entre la base xoops netbean et le nav, c'est un peu le bordel.

a bientot pour la suite

Posté le : 09/01/2012 20:05
Partager Twitter Partagez cette article sur GG+
Re: serialize et config
Régulier
Inscrit: 02/09/2011 10:06
Messages: 146
je confirme le problème vient de l'encodage, maintenant je n'ai plus de plante sur unserialize, je fait :

print_runserialize(utf8_encode($selection['conf_value'])));


j'ajoute un utf8_encode, sauf que maintenant l'affichage est avec des ..... vous savez !

je comprend plus rien ! Ma db est en utf8 donc les caractères qu'elle m'envois devrait etre en utf8 ..;non !

pourquoi etre obligé de ré-encoder , pour au final avoir une erreur sur le navigateur ????

a toute ......

Posté le : 09/01/2012 20:21
Partager Twitter Partagez cette article sur GG+
Re: serialize et config
Régulier
Inscrit: 02/09/2011 10:06
Messages: 146
re
le mot de la fin ....;

comme soupçonné ds le dernier post le problème est bien un problème d'encodage, j'ai donc cherché d’où il pouvait bien provenir? vu que mon système me paraissait cohérent entre la bd et les meta données de mon header html qui sont calé sur utf-8

j'ai donc identifier le coupable , il s'appel PDO en effet j'ignore pourquoi? mais si on veut que les requêtes s’exécutent correctements en utf-8 il faut passer au constructeur pdo une option en tableau :
array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES 'UTF8'')


ce qui donne :
$db = new PDO("mysql:host=$hostname;dbname=$dbName"$username$password,array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES 'UTF8''));


attention , j'ai lu que ce n'était pas toujours compatible avec certaine version de php (il existe quand même des moyens de contournement pour ces versions).

la mienne est la 5.3.6 et ça fonctionne

ouah.........

donc pas de soucis pour attaquer la base de donner de xoops de l’extérieur.



A+

Posté le : 09/01/2012 21:41
Partager Twitter Partagez cette article sur GG+
Re: serialize et config
Régulier
Inscrit: 15/02/2011 22:12
Messages: 288
salut

Pardon pour la question de béotien, concrètement cela te sers à quoi ? Tu prélèves les données d'un site xoops mais pas pour un autre site Xoops ? ... je n'ai pas tout suivi

Posté le : 09/01/2012 21:46
Partager Twitter Partagez cette article sur GG+
Re: serialize et config
Régulier
Inscrit: 02/09/2011 10:06
Messages: 146
Tout simplement , parceque une partie des infos de l'application(xoops) est accessible via un sous domaine par des mobiles et cette partie n'est pas sous xoops.
Mais quand même besoin de certaines infos qui sont ds la dB.
Autre point ,si tu fois passer par un prestataire de paiement en ligne ex: paybox , il font un appel de serveur à serveur direct pour confirmation paiement , la encore tu devra attaquer ta dB directement .

Voilou
Hope to Help you

Posté le : 10/01/2012 08:02
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

371 Personne(s) en ligne (313 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 371 | Plus ...