Bonjour tout le monde !

Donc j'ai un probl�me depuis plusieurs jours concernant la cr�ation d'un formulaire pour laisser des commentaire et une notation apr�s validation du psedo et de l'email de l'utilisateur.

Donc dans une premi�re partie j'avais r�aliser le formulaire tout fonctionnai parfaitement, jusqu'� se que j'ins�re une notification par �toile en javascript.

De cela je m'�gard totalement ! Mon formulaire de saisi se valide via un simple form envoyant alors les variables en post afin de les traiter. Probl�me mon syst�me de notification par �toile traite en javascript via un onload sur mon body et un "document.location.href=...." dans mon javascript.

J'ai donc r�fl�chi la dessus et me suis dis que la solution qui me paraissait la plus simple �tait simplement de recharger la m�me page quand la personne coche les �toiles et ainsi d'envoyer cette variable, de cela je peut bloquer le nombr� d'�toiles coch�s et r�cup�rer la variable par la m�me.

Probl�me qui se pause est, quand je recharge cette page apr�s avoir cliqu� sur un nombr� d'�toile mais variable initial envoy� lors de l'ouverture de la page (refdoc ...) sont perdu ! La notification prenant en compte le onload sur body et non le form. J'ai donc essay� de faire passer plusieurs variables dans le code javascript mais rien n'y fait je suis malheureusement perdu mais connaissance en javascript sont plus que limit�.

C'est d'ailler pour cela que je viens vous demander conseils. Je souhaite juste r�cup�rer mais 3 variables ($refdoc / $reftype / $note) dans ma seconde partie afin de les traiter.

Voici le code javascript :

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
StarOutUrl=		'StarOut.gif';		//image par défaut
StarOverUrl=	'StarOver.gif';		//image d'une étoile sélectionnée
StarBaseId=		'Star';				//id de base des étoiles
NbStar=			10;					//nombre d'étoiles
 
LgtStarBaseId=StarBaseId.lastIndexOf('');
 
function NotationSystem()  
{ 
	for (i=1;i<NbStar+1;i++)  
	{ 
		var img	= document.getElementById('Star'+i); 
 
		img.onclick = function(){ 
								//alert(Name2Nb(this.id)); 
								document.location.href="coment.php?note="+Name2Nb(this.id);
								}; 
 
 
 
		//Réaction lors du clic sur une étoile 
		//Evidemment, il faudrait compléter cette fonction pour la rendre vraiment utile. 
		//Par exemple, envoyer la note dans une base de donnée via un XMLHttpRequest. 
 
		img.alt			='Donner la note de '+i; 
		//Texte au survol 
 
		img.src			=StarOutUrl; 
		img.onmouseover	=function() {StarOver(this.id);}; 
		img.onmouseout	=function() {StarOut(this.id);}; 
	} 
} 
 
function StarOver(Star) {
	StarNb=Name2Nb(Star);
	for (i=1;i<(StarNb*1)+1;i++) {
		document.getElementById('Star'+i).src=StarOverUrl;
	}
}
 
function StarOut(Star) {
	StarNb=Name2Nb(Star);
	for (i=1;i<(StarNb*1)+1;i++) {
		document.getElementById('Star'+i).src=StarOutUrl;
	}
}
 
function Name2Nb(Star) {
	//Le survol d'une étoile ne nous permet pas de connaître directement son numéro
	//Cette fonction extrait donc ce numéro à partir de l'Id
	StarNb=Star.slice(LgtStarBaseId);
	return(StarNb);
} 
-->
Et voici le code php de ma 1er partie, une fois la page recharger avec la variable note, les 2 erreurs se produisent sur mais deux premi�re requ�tes (Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Siteperso\coment.php on line ...), refdoc et reftype ne sont pas envoy� le traitement ne peut donc �tre r�alis� :

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
 
 
<body onload="NotationSystem()" style="margin: 0px; padding: 0px;">
<div id="comment" >
<?php
if(!isset($test)) $test = 0;
 
 
if($_POST['test'] == 0)
{
 
$refdoc=$_GET['refdoc'];
$reftype=$_GET['reftype'];
$cit=$_GET['cit'];
$note=$_GET['note'];
if ($note=="")
{
$note=$_POST['note'];
}
 
if ($refdoc=="")
{
	$refdoc=$_POST['refdoc'];
	$reftype=$_POST['reftype'];
}
 
$connexion= mysql_connect($MyServeur,$MyLogin,$MyPass) or die ("Erreur, connexion à la base de données impossible");
mysql_select_db($MyBase,$connexion);
 
 
$reqtitre="SELECT * FROM news WHERE ref=".$refdoc;
$resultitre=mysql_query($reqtitre);
$reference=mysql_fetch_array($resultitre);
 
$titretype="SELECT * FROM type WHERE reftype=".$reftype;
$resulttype=mysql_query($titretype, $connexion);
$rtype=mysql_fetch_array($resulttype);
 
...
</div>
echo "<br><div id='cadre2comm' >";
	echo "<table>";
	echo "<tr><td>";
	echo '<form name="form1" method="POST" action="coment.php" >';
	echo '<input type="hidden" name ="test" value="1" />';
 
	$connexion= mysql_connect($MyServeur,$MyLogin,$MyPass) or die ("Erreur, connexion à la base de données impossible");
	mysql_select_db($MyBase,$connexion);
 
	echo '<input type="hidden" name="refdoc" value="'.$refdoc.'" ></input>';
	echo '<input type="hidden" name="typedoc" value="'.$reftype.'" ></input>';
 
	echo '<b>Vote (Nom et adresse mail obligatoire pour valider le vote) :</b><br/>';
	if ($note!="")
	{
$i = 1;
 
while ($i<=$note)
{
	$i++;
	echo '<img  width="20px" src="StarOver.gif" />';
}
$meno=10-$note;
 
$a = 1;
while ($a<=$meno)
{
	$a++;
	echo '<img width="20px" src="StarOut.gif" />';
}
 
	}
	else
	{
	echo '<img id="Star1" width="20px" src="StarOut.gif" /><img id="Star2" width="20px" src="StarOut.gif" />';
	echo '<img id="Star3" width="20px" src="StarOut.gif" /><img id="Star4" width="20px" src="StarOut.gif" />';
	echo '<img id="Star5" width="20px" src="StarOut.gif" /><img id="Star6" width="20px" src="StarOut.gif" />';
	echo '<img id="Star7" width="20px" src="StarOut.gif" /><img id="Star8" width="20px" src="StarOut.gif" />';
	echo '<img id="Star9" width="20px" src="StarOut.gif" /><img id="Star10" width="20px" src="StarOut.gif" />';
	}
 
	echo '<br><br><b>Nom (obligatoire) :</b><br/>';
	echo '<input type="text" size="50" name="nom" value='.$psedo.' ><br/></td>';
 
	echo '<tr><td><b>Adresse e-mail (ne sera pas publié) (obligatoire)</b><br/>';
	echo '<input type="text" size="50" name="mail" value='.$mail.' ><br/></td>';
 
	echo '<tr><td><b>Site Web </b><br/>';
	echo '<input type="text" size="50" name="site" value='.$siteperso.' ><br/></td></tr>';
 
	echo '<tr><td><b>Votre commentaire :</b><br/>';
	echo '<textarea rows=7" cols="55" name="comment" value='.$commentaires.' ></textarea><br/></td></tr>';
 
	echo '<tr><td>';
	echo '<input type="submit" value="Valider" name="btvalider"/>';
	echo '</td></tr></table></form></div><br><br>';
 
 
}
Afin de les r�cup�rer dans ma seconde partie pour les traiter ainsi :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
 <?php
 //echo '<pre>', print_r($GLOBALS), '</pre>'; 
if($_POST['test'] == "1")
{
	$nom=$_POST['nom'];
	$site=$_POST['site'];
	$mail=$_POST['mail'];
	$comment=$_POST['comment'];;
	$ref=$_POST['refdoc'];
	$type=$_POST['typedoc'];
	$note=$_POST['note'];
	$note=$_GET['note'];
	......
J attend vos r�ponses, conseils, solutions sur se probl�me et vous remercie d'avance, le code n'est pas tr�s propre pour le moment vu que rien n'est termin�. Je voudrais simplement trouv� une solution pour r�cup�rer ces 3 variables $refdoc / $reftype / $note et r�ussir a mes traiter dans mon $_POST['test'] == "1".

Merci d'avance.
Cordialement.

Benorito