Bonjour,
Dans l'ordre :
1) Un lien sur la page affiche une Fancybox grâce à du code Ajax.
2) Dans la Fancybox, une image comportant une action Onclick qui lance une fonction Javascript/Ajax pour enregistrer une ligne dans une table SQL.
Extrait du code de la page :
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <a id="likeThat<?php echo $id_msg; ?>" href="javascript:afficherWhoLike(<?php echo $id_msg.', '.$_SESSION['coords']['id']; ?>);" >
Extrait du Javascript lancé par le lien :
Code Javascript : 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 function afficherWhoLike(idMessage, idMembreConnecte) { $.fancybox.showActivity(); contenuHTML = $.ajax( { url: "ajax/wholike.php", global: false, type: "POST", data: ({id_message : idMessage, id_membre_connecte : idMembreConnecte}), dataType: "html", async:false, success: function(msg) { //alert(msg); } } ).responseText; $.fancybox( contenuHTML, { 'autoDimensions' : false, 'centerOnScroll' : true, 'width' : 'auto', 'height' : 'auto', 'transitionIn' : 'none', 'transitionOut' : 'none' } ); }
Extrait du fichier ajax/wholike.php qui génère le code HTML de la Fancybox :
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $html .= '<img src="images/profil/btn_follow_'.$la_langue.'.png" style="cursor: pointer;" onclick="follow('.$id_membre_connecte.', '.$id_votant.', 0);" />';
La fonction Javascript follow :
Nota : l'alerte s'affiche quand on clique sur l'image donc le code est accédé.
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 function follow(id_follower, id_following, id_liste) { $.ajax( { url: "ajax/addfollow.php", global: false, type: "POST", data: ({idFollower : id_follower, idFollowing : id_following, idListe : id_liste}), dataType: "html", async:false, success: function(retour) { alert("follow"); //document.location = '<?php echo $_SERVER[PHP_SELF]; ?>'; } } ); }
Extrait du fichier ajax/addfollow.php :
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $id_follower = intval($_POST['idFollower']); $id_following = intval($_POST['idFollowing']); $id_liste = intval($_POST['idListe']); $sql = " INSERT INTO follow (flw_id_follower, flw_id_following, flw_id_liste) VALUES ($id_follower, $id_following, $id_liste) "; mysql_query($sql) or die ("Erreur SQL : ".mysql_error()."<br />Requête :<br />".$sql);
L'insertion en BDD ne se fait pas.
Pour tester, j'ai volontairement mis une erreur dans la requête SQL mais le code ne s'arrête pas sur erreur SQL. On dirait que le fichier ajax/addfollow.php n'est pas exécuté.
Une idée à me soumettre ?
Partager