Page 1 sur 2
Java script (on click) & database
Posté : 14 août 2007, 22:49
par Kerty
Bonjour!
J'ai une petite colle pour vous...
J'ai un block <div> et j'aimerais ajouter une fonction javascript "onclick" lorsqu'on clique sur un lien du block. Lorsque la fonction est appellée j'aimerais qu'a la fois le lien s'excécute, mais surtout qu'il y a ai un appel vers ma bdd. Est-ce que cela est possible?
merci
Posté : 14 août 2007, 23:52
par Ryle
Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Javascript, AJAX".
Merci de prendre le temps de lire les règlements
ainsi que l'intitulé de chaque forum avant de poster un nouveau sujet.
Posté : 14 août 2007, 23:55
par Kerty
Excusez moi, comme mon site est en pur (enfin presque, maintenant) PHP instinctivement je l'ai placé dans le PHP
Toutes mes excuses
Posté : 15 août 2007, 00:12
par Ryle
Y a pas de soucis... c'est surtout pour toi, tu auras plus de chance de trouver des réponses auprès des gens qui postent ici et qui ne sont pas nécessairement les mêmes que dans le forum php5
Sinon pour répondre à ta question, il est tout à fait possible d'interroger ton serveur avec Ajax, c'est à dire lancer une commande javascript qui fera appel à un script php qui lui interrogera ta base de données et éventuellement retournera un résultat à javascript

Posté : 15 août 2007, 00:16
par Kerty
Il y a donc bien moyen...
J'ai recherché avec mon grand amis de toujours google, mais je n'ai jamais réussis a trouver cette fichue réponse. Je n'y connais rien en javascript (le seul truc que j'ai réussis a faire en fait c'est a mettre le focus sur une zone d'édition de texte)...
En fait, en gros, j'aimerais que lorsqu'on cliques sur n'importe quel lien de ce fameux block, qui seront des liens google adsense, ça appelle la base de donnée (pour qu'il interdise l'affichage de la pub, ou qu'il ne mette que les produits de parrainage), car j'ai lu sur les forums de google adsense qu'une personne s'était fait bannir du programme adsense car quelqu'un qui ne l'aimait pas a cliqué plus de 120 fois sur la pub de google...
Bon bref revenons a nos moutons. Je ne demande pas nécessairement un script tout fait (j'ai appris le PHP sans jamais demander des scripts tout fait...), mais je me demanderais s'il était possible de me mettre un tantinet sur la voie?
merci

Posté : 15 août 2007, 00:36
par Ryle
J'ai pas bien compris l'histoire du gars qui s'est fait bannir de adsense, vu que pour moi le but d'une pub sur un site est justement de se faire cliquer (donc en toute logique, plus y a de clic, plus y a de sous qui rentrent, mais bon)
Quoi qu'il en soit, c'est la voie d'ajax qui t'es toute tracée. Si tu redemandes à ton pote google ou si tu farfouilles un peu sur le forum, tu verras que c'est assez simple et qu'on peut résumer ça à deux fonctions javascript, l'une qui envoi des données au serveur (en get ou post), l'autre qui reçoit les réponses (théoriquement affichées à l'écran). Entre les deux n'importe quel script php qui fait son traitement et affiche un résultat à l'écran et le tour est -quasiment- joué

Posté : 15 août 2007, 00:57
par Kerty
merci, je ferai des recherches demain dans la journée
en fait une personne qui n'aimait pas le webmaster a cliqué 130 fois d'affilée sur la pub, et google a bannit le webmaster de son programme pour click incorrect

Posté : 15 août 2007, 00:58
par Sékiltoyai
Oh, c'est joli ca comme acte de malveillance

Posté : 15 août 2007, 17:41
par Kerty
ça a le mérite d'etre efficace...
*tete d'ange*
Posté : 24 août 2007, 16:30
par Kerty
Bonjour, c'est a nouveau moi! (héhé pas d'bol)
j'ai enfin décidé de m'y mettre...
et je n'arrive pas a comprendre la chose suivante
tu m'as dis d'envoyer des données POST ou GET.. le GET es proscrit vu que je change de site, et pour le POST... il n'y a pas de formulaire..
voilà je suis perdu pour le moment a cet endroit

Posté : 24 août 2007, 16:35
par kerty
J'ai un peu trifouillé, j'ai arrivé a faire un code qui fonctionne...
j'en suis rendu ici a peu pres (je sais c'est pas grand chose...)
<form name="pub" action="center.php" method="post">
<input type="hidden" name="pub" value="1"/>
<div class="warning" onClick="document.forms.pub.submit()">test</div>
</form><?php
if(($_POST['pub']))
{
mysql_query("UPDATE fiche SET po='50' WHERE ID=$id");
}
quand je pointe le form vers la meme page, ça me fait ce que je veux (vu que le "if" se trouve sur cette page), mais quand je le change (j'ai essayé avec "center.php"), ça n'exécute pas ma fonction
j'ai loupé une étape!
désolé

Posté : 24 août 2007, 17:51
par kerty
j'ai fini par tout trouver tout seul comme ung rand
chaque fois que j'appel a l'aide je fini par trouver tout seul
mais je crois que si je demandais pas je ne trouverais pas! ça doit etre psychologique...
sur ce, bonne journée et merci!
Posté : 25 août 2007, 03:48
par Kerty
Vous aimez ça quand les gens trouvent eux-meme?
ben en fait je ne m'en rendais pas compte mais mon code est incorrect!
en fait le script marche tellement bien qu'il marche meme quand je le veux pas (pour ça que je n'ai pas remarqué qu'il ne marchait pas immédiatement...)
j'ai donc deux appelles JS, le premier fonctionne et renvoie sur l'url desktop.php?pub=true
la seconde vérifie l'existence de pub et excécute le code par ce moyen
if($_GET['pub'])
{
<?php
blabla mysql_query & company
?>
}
cherchez l'erreur, moi je ne comprend pas...
désolé pour le flood et merci d'avance

Posté : 25 août 2007, 03:54
par Kerty
J'ai oublié de mettre dans le bout de code que je vous ai montré les balise <script></script>, mais dans mon code elles y sont.
Posté : 25 août 2007, 04:00
par Sékiltoyai
Personnellement, je te dirigerais plutôt vers une solution de type header('Location: ');
En fait, ce que tu pourrais faire, c'est faire pointer le lien vers ton script, pour qu'il mette à jour la base, et si l'éxecution se déroule correctement, tu rediriges vers la page qui normalement était sensée être la cible du lien avec
header('Location: http://sous-domaine.domaine.tld/la_cible_du_lien.php');