Salut la communauté,
Je connais assez bien le dev en PHP mais très peu le js - AJAX et je rencontre un soucis qui me semble simple pour quelqu'un d'avisé :
L'un ou autre, des <a href ... onclick suivant satisfont toujours les 2 conditions de mon IF en PHP et donc update ma DB dans :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 echo "<a href=\"\" onclick=\"request('thumb.php?file=$fichier&apre=up','xmlhttp');return(false)\"><img src=\"images/thumb.jpg\" class=\"imgLike\"></a>"; echo " "; echo "<a href=\"\" onclick=\"request('thumb.php?file=$fichier&apre=do','xmlhttp');return(false)\"><img src=\"images/thumbd.jpg\" class=\"imgLike\"></a>";
partie PHP
Code php : 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 <?php include ('connect.php'); $file = $_GET['file'] ; $apre = $_GET['apre'] ; if ($apre = 'up') { $query = "UPDATE `ranking` SET `ranking`.`like` = `ranking`.`like` + 1 WHERE `ranking`.`nomfichier` = '$file'"; mysql_query ($query) or die ("update du like impossible"); mail ('xxxx@whel.fr', $apre , $apre ); } if ($apre = 'do') { $query2 = "UPDATE `ranking` SET `ranking`.`dislike` = `ranking`.`dislike` + 1 WHERE `ranking`.`nomfichier` = '$file'"; mysql_query ($query2) or die ("update du dislike impossible") ; mail ('xxxx@whel.fr', $apre , $apre );
et la partie en JS
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 <script language="javascript"> function request(url,cadre) { var XHR = null; if(window.XMLHttpRequest) // Firefox XHR = new XMLHttpRequest(); else if(window.ActiveXObject) // Internet Explorer XHR = new ActiveXObject("Microsoft.XMLHTTP"); else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); return; } // envoie de la requête, methode GET et de l'url XHR.open("GET",url, true); // on guette les changements d'état de l'objet XHR.onreadystatechange = function attente() { // l'état est à 4, requête reçu ! if(XHR.readyState == 4) { // ecriture de la réponse document.getElementById(cadre).innerHTML = XHR.responseText; } } XHR.send(null); // le travail est terminé return; } </script>
Vous auriez une idée du pourquoi ?
Partager