Exécuter fonction php dans onclick js avec jquery

Fermé
rfrfrf - 4 mai 2016 à 23:35
 dovrak - 8 mai 2016 à 03:01
Salut,

je veux exécuter une fonction php dans un onclick en javascript avec ajax/jquery

ma fonction php et l'apelle jquery onclick javascript existent dans index.php je veux tout faire dans la même page


<img onclick="" id="img" alt="" src="image1.gif">

<?php
function resoudre()
{
J'ai plusieurs instructions comme par exemple:
echo '<script type="texte/javascript"> var text = "salut" ; alert(text);</script>' ;

j'ai des alerts et des affichages dans div et dans zone de texte
selon des conditions
j'ai aussi plusieurs variables
-
-
-
-
}
?>
$(function(){
$('#img').click(function()
{
?
?

});
});



Je veux seulement savoir quel est la démarche à suivre car je ne veux pas refaire toutes mes fonctions

Merci d'avance
A voir également:

2 réponses

codeurh24 Messages postés 760 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 8 septembre 2018 123
Modifié par codeurh24 le 5/05/2016 à 11:16
Bonjour.
Le petit problème d'utilisé une même page php pour, l'affichage de la page web et la réponse de la fonction php, c'est qu'ils partageront le même affichage.

L'affichage de la réponse a la fonction php est en html ou json.

Dans ce cas il faut envoyer une variable post.

C'est variable doit être vérifiée quelle existe.
Si elle n'existe pas tu met la partie entière de ta page web dans le faux de ta condition.

Si elle existe tu fait un retour en html mais le mieux est de faire un retour en json.
0
Salut:

fonction php dans un onclick en javascript

C'est impossible:
PHP Hypertexte pre-processor est interprété avant le chargement de la page, donc avant qu'il y ait possibilité de click , de boutton ou même de page qui existe...

Donc revoyez votre façon de travailler, il n'y a aucun intérêt à faire les traitements PHP(ou autre ) en utilisant la m^me page. Au contraire il est mieux de séparer le code de la présentation pour toutes sortes de raisons, pratiques et de cohérence/réutilisation.

Pour pouvoir utiliser des données entre les 2 lanages(l'un serveur, l'autre client) il y a AJAX qui rends celles ci asynchrone en faisant des méta-données.
0
Merci pour vos réponses
Je voudrai savoir si par exemple je travail avec ajax jquery pour transmettre des variables javascript en cliquant sur une image vers un fichier php pour avoir au retour la réponse dans une div

par exemple:

premierfichier.php


<script language="JavaScript">
$(function(){
$('#img').click(function() {
var url = 'monfichier.php';

$.post(url,{num: 5}).done(function(data){
$("#score").html(data.num);
alert(data.num); //pour les tests

}).fail(function(){
console.log("erreur");
});
});
}
);


secondfichier.php



<?php


$num = !empty($_POST["num"]) ? $_POST["num"] : NULL;

$result = array();
if($num ){
$result["num"] = $num;

}

else{
$result['msg'] = "Erreur";
$result["num"] = $num;
}


ce que je veux savoir :la variable $result["num"] = $num elle est une variable connu par php dans(secondfichier.php)et au retour comme réponse elle est reçu dans l'ajax jquery ((premierfichier.php))comme variable javascript
comment puis je faire pour avoir $result["num"] = $num comme variable php dans le fichier (premierfichier.php) qui a fait l'appel

Merci d'avance
0
Salut,

plusieurs confusion. Commencez par savoir de quoi vous parler.

Le principe d'AJAX: échanger des données entre la page(local/client) et PHP(distant/serveur) sans avoir à faire à nouveau appel à PHP pour exécuter les requêtes.

JQuery: Bibliothèque logicielle écrite en javascript. Elle est pratique, comme toute les bibliothèques logicielles ce sont des fonctions prêtes à l'utilisation et beaucoup (beaucoup) plus simple à utiliser que devoir réécrire ces fonctions à chaque fois qu'on en a besoin. Par exemple pour AJAX qui est simplifié quand on fait appel aux fonctions de JQuery.

Javascript: langage de script interprété par le navigateur Internet(client). Rien à voir avec Java !=


A.J.A.X.
Asynchronymous Javascript And XML.
litt. javascript et xml désynchronisé.
Le nom est resté mais nous ne sommes pas obligés d'utiliser XML. En effet Json et d'autres formats équivalents sont utilisés.
Le principe est de rendre asynchrone le chargement d'informations. Pour cela PHP étant toujours interprété(par le serveur avant l'envoi des informations -PHP = Hypertexte PreProcessor = Intervient avant le processus HTML) avant que la page arrive au navigateur(client) il est fait une partie commune avec les données nécessaires(future ment nécessaires, la page n'existe même pas).
C'est le 'X' de AJAX: XML(ou Json ou csv ou autre format de données texte).

DISTANT: Serveur/PHP/DB


*
    • (envoi du serveur des données qui serons utiles dans le futur)**

'X' METADONNEES : données dans un fichier temporaire

*
    • (demande dans le futur du client)**


LOCAL : Client/javascript

Distant et Local ont accès tout deux à ce fichier pour le mettre à jour, récupérer ses informations etc...


Sans ajax, pour simplement passer une donnée à PHP:
<Form action=traitement.php method=POST>
<input id=variableinvisible type=hidden value=valeur />
<input type=submit value=envoi />
</form>

<!--Et pour modifier la valeur de la variable en javascript:-->
<script>
document.getElementByID('variableinvisible').value='nouvelle valeur';

<!- en jquery)-->
$('#variableinvisible').value='nouvelle valeur';
</script>


La même chose en AJAX demande de faire toutes les requêtes qui peuvent être demandées par l'utilisateur en méta-données.
Donc quand AJAX(javascript) veux obtenir la réponse il n'y a pas besoin de recharger la page ni faire appel au serveur (web, php, base de données) pour obtenir les réponses et les afficher dans le HTML puisqu'il consulte le fichier temporaire(métadonnées) contenant la requête concernée et envoyée celle ci.
C'est en général très spécifique ou pour optimiser la vitesse d'affichage de la page/des résultat.
0