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 :
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 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); } -->
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
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>'; }
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".
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']; ......
Merci d'avance.
Cordialement.
Benorito
Partager