J'ai un problème que j'arrive pas a géré. j'essaye de faire un système de vote comme dans cette exemple: http://orkans-tmp.22web.net/star_rat...=2&demo-tabs=6
j'ai donc fait ce code
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 $(function(){ $("#ratings").children().not(":radio").hide(); $("#ratings").stars({ oneVoteOnly: true, cancelShow: false, callback: function(ui, type, value) { $("#ratings").hide(); var idstrategie=$("#strategie_id").val(); $.post("fonction/vote.php", {idstrat: idstrategie, valeur: value}, function(data) { var votetmp = new Array(); votetmp=data.split(';'); alert(data); $("#ratings").val(Math.round(votetmp[0])); $("#nbvote").html(votetmp[1]); $("#ratings").show(); }); } }); });
et ma page vote.php:
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 <?php session_start(); header("Content-type: text/html; charset=UTF-8" ); //resoud pd de cache ie header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date du passé if( isset($_POST["idstrat"] ) && isset($_POST["valeur"] ) ) { include '../config.php'; $connection = mysql_connect($sql['host'],$sql['user'],$sql['password']); if ( ! $connection ) die ("connection impossible"); mysql_select_db($sql['base']) or die ("pas de connection"); mysql_query("SET NAMES 'utf8'"); $requete="SELECT * FROM vote WHERE userid=".$_SESSION["id"]." And strategieid=".$_POST["idstrat"]; $res=mysql_query($requete,$connection); if($r = mysql_fetch_array($res)) { $requete="UPDATE vote set valeur=".$_POST["valeur"].", votedate=CURRENT_TIMESTAMP WHERE userid=".$_SESSION["id"]." AND strategieid=".$_POST["idstrat"]; } else { $requete="INSERT INTO vote (userid, strategieid, valeur) VALUES(".$_SESSION["id"].",".$_POST["idstrat"].",".$_POST["valeur"].")"; } mysql_query($requete,$connection); $requete="SELECT COUNT(valeur) as nbvaleur, AVG( valeur ) as avgvaleur FROM vote WHERE strategieid=".$_POST["idstrat"]; $reqv = mysql_query($requete,$connection); if($datav = mysql_fetch_assoc($reqv)) { $valvote=$datav['avgvaleur']; $nbvote=$datav['nbvaleur']; } else{ $valvote=0; $nbvote=0; } echo $valvote.";".$nbvote; } ?>
Ce code fonctionne très bien sous Firefox mais sous IE lorsque je clique sur une étoile j'ai une erreur:
Et ensuite losrque que j'appuie sur F5 sur la même page ça fonctionne parfaitement, je peux cliquer sur une étoile pour voter. Je comprend pas pourquoi je dois appuyer sur F5 A chaque fois pour voter...Détails de l’erreur de la page Web
Agent utilisateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)
Horodateur : Mon, 26 Apr 2010 14:19:30 UTC
Message*: Cet objet ne gère pas cette propriété ou cette méthode
Ligne*: 4959
Caractère*: 5
Code*: 0
URI*: http://xxxxxxxx/js/jquery.js
Et si j'enlève la fonction callback dans le javascript je n'est plus aucune erreur je pense que ça donc venir de là.
Partager