Bonjour à tous,

Voila j'expose mon problème.

j'ai deux fichier le premier est celui du js function serialize et unserialize.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
 
function serialize (txt) {
	switch(typeof(txt)){
	case 'string':
		return 's:'+txt.length+':"'+txt+'";';
	case 'number':
		if(txt>=0 && String(txt).indexOf('.') == -1 && txt < 65536) return 'i:'+txt+';';
		return 'd:'+txt+';';
	case 'boolean':
		return 'b:'+( (txt)?'1':'0' )+';';
	case 'object':
		var i=0,k,ret='';
		for(k in txt){
			//alert(isNaN(k));
			if(!isNaN(k)) k = Number(k);
			ret += serialize(k)+serialize(txt[k]);
			i++;
		}
		return 'a:'+i+':{'+ret+'}';
	default:
		return 'N;';
		alert('var undefined: '+typeof(txt));return undefined;
	}
}
 
function unserialize(txt){
	var level=0,arrlen=new Array(),del=0,final=new Array(),key=new Array(),save=txt;
	if (!txt) return final;
	while(1){
		switch(txt.substr(0,1)){
		case 'N':
			del = 2;
			ret = null;
		break;
		case 'b':
			del = txt.indexOf(';')+1;
			ret = (txt.substring(2,del-1) == '1')?true:false;
		break;
		case 'i':
			del = txt.indexOf(';')+1;
			ret = Number(txt.substring(2,del-1));
		break;
		case 'd':
			del = txt.indexOf(';')+1;
			ret = Number(txt.substring(2,del-1));
		break;
		case 's':
			del = txt.substr(2,txt.substr(2).indexOf(':'));
			ret = txt.substr( 1+txt.indexOf('"'),del);
			del = txt.indexOf('"')+ 1 + ret.length + 2;
		break;
		case 'a':
			del = txt.indexOf(':{')+2;
			ret = new Array();
			arrlen[level+1] = Number(txt.substring(txt.indexOf(':')+1, del-2))*2;
		break;
		case 'O':
			txt = txt.substr(2);
			var tmp = txt.indexOf(':"')+2;
			var nlen = Number(txt.substring(0, txt.indexOf(':')));
			name = txt.substring(tmp, tmp+nlen );
			//alert(name);
			txt = txt.substring(tmp+nlen+2);
			del = txt.indexOf(':{')+2;
			ret = new Object();
			arrlen[level+1] = Number(txt.substring(0, del-2))*2;
		break;
		case '}':
			txt = txt.substr(1);
			if(arrlen[level] != 0){alert('var missed : '+save); return undefined;};
			//alert(arrlen[level]);
			level--;
		continue;
		default:
			if(level==0) return final;
			alert('syntax invalid(1) : '+save+"\nat\n"+txt+"level is at "+level);
			return undefined;
		}
		if(arrlen[level]%2 == 0){
			if(typeof(ret) == 'object'){alert('array index object no accepted : '+save);return undefined;}
			if(ret == undefined){alert('syntax invalid(2) : '+save);return undefined;}
			key[level] = ret;
		} else {
			var ev = '';
			for(var i=1;i<=level;i++){
				if(typeof(key[i]) == 'number'){
					ev += '['+key[i]+']';
				}else{
					ev += '["'+key[i]+'"]';
				}
			}
			if(ret==null){ret='';} // ajout de loïc guglielmino, pour corriger problème valeur null
			eval('final'+ev+'= ret;');
		}
		arrlen[level]--;//alert(arrlen[level]-1);
		if(typeof(ret) == 'object') level++;
		txt = txt.substr(del);
		continue;
	}
}
ensuite j'ai un autre fichier js qui appel ma page en php pour récupérer mon resultat serializé


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
function afficher_fenetre_encherir(id_enchere, enchere_mini)
{
	var model = getIdStd('enc_fenetre_encherir_contenu_model').innerHTML;
	model = model.replace(/#ID_ENCHERE#/g, id_enchere);
	model = model.replace(/#ENCHERE_MINI#/g, enchere_mini);
	model = model.replace(/#MODEL#/g, "");
	getIdStd('enc_fenetre_encherir_contenu').innerHTML = model;
	getIdStd('enc_fenetre_encherir').style.display = 'block';
	afficherFondPopupStd('enc_fond_popup',0);
	centrerPopupStd('enc_fenetre_encherir');
}
function cacher_fenetre_encherir()
{
	getIdStd('enc_fenetre_encherir_contenu').innerHTML = '';
	getIdStd('enc_fenetre_encherir').style.display = 'none';
	getIdStd('enc_fond_popup').style.display = 'none';
}
 
/**
 * Affichage en savoir +
 */
function afficher_en_savoir_plus(elt)
{
	getIdStd(elt).style.display = 'block';
	afficherFondPopupStd('enc_fond_popup',0);
	centrerPopupStd(elt);
}
function cacher_en_savoir_plus(elt)
{
	getIdStd(elt).style.display = 'none';
	getIdStd('enc_fond_popup').style.display = 'none';
}
 
/**
 * Affichage du compte à rebours pour les enchères
 */
function compte_a_rebours_enc(elt, time_id)
{
	var time = "" + eval(time_id); // transformation en string
	if (time <= 0)	{
		time = "Enchère<br/>Terminée";
	} else {
		nb_heures = Math.floor(time/3600);
		nb_minutes = Math.floor((time - nb_heures*3600) / 60);
		nb_secondes = (time - nb_heures*3600) - (nb_minutes*60);
 
		if(nb_heures < 1 && nb_minutes < 1) {
			time = "Moins d'une<br/>minute";
		} else {
			if(nb_heures<10) nb_heures = "0"+nb_heures;
			if(nb_minutes<10) nb_minutes = "0"+nb_minutes;
			if(nb_secondes<10) nb_secondes = "0"+nb_secondes;
			time = nb_heures+"h"+nb_minutes+"m"+nb_secondes+"s";
		}
	}
	document.getElementById(elt).innerHTML=time;
 
	window[time_id] = eval(time_id)-1; // on diminue le timestamp
}
 
/**
 * Un joueur fait une demande pour enchérir
 */
function encherir_enc(id_enchere, enchere_mini)
{
	var montant = document.enc_form_encherir.enchere_joueur.value;
	if( retour = file('boutique/boutique_encheres_actions.php?action=encherir&id='+id_enchere+'&montant='+montant+'&mini='+enchere_mini) )
	{
		var arr = unserialize(retour);
		if(arr[0]==0)
		{
			getIdStd('enc_fenetre_encherir_contenu').innerHTML = arr[1];
		}
		else
		{
			getIdStd('enc_message_retour').innerHTML = arr[1];
		}
	}
}
j'aimerais savoir comment je fait pour que mon resultat s'affiche

exemple de ligne de serialisation :

a:2:{i:0;i:96;i:1;s:31:"Vous n'avez pas assez de Points";}

j'aimerais afficher sur ma page enchere Vous n'avez pas assez de Points.

Merci pour votre aide et contribution