IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] [php] appel de fonction php dans evenement


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut [AJAX] [php] appel de fonction php dans evenement
    bonjour

    est il possible d'appeler dans un "OnClick" une fonction ajax qui va elle même appeler une fonction 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
     
     
    <a href="http://'.$donnees['url_site'].'" onClick="go('.$donnees['id'].',\'ok\')" target="_blank"><img src="http://'.$donnees['url_ban'].'" width="'.$donnees['width'].'" height="'.$donnees['height'].'" border="0" onLoad="'.cpt_visites($donnees['id']).'"></a>'
     
    <SCRIPT type="text/javascript">
    var xhr = null; 
     
    	 		function getXhr(){
    				if(window.XMLHttpRequest) // Firefox et autres
    				   xhr = new XMLHttpRequest(); 
    				else if(window.ActiveXObject){ // Internet Explorer 
    				   try {
    			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			            } catch (e) {
    			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			            }
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    				   xhr = false; 
    				} 
    			}
     
    			/**
    			* Méthode qui sera appelée sur le click du bouton
    			*/
    			function go(){
    				getXhr()
    				// On défini ce qu'on va faire quand on aura la réponse
    				xhr.onreadystatechange = function(){
    					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    					if(xhr.readyState == 4 && xhr.status == 200){
    						alert(xhr.responseText);
    					}
    				}
    				xhr.open("POST","index.php",true);
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				xhr.send("ok="+var2"&id_ban="+var1);
    			}
    if(isset($_POST[""])){
       fonction_php()...
       ...
       }
    }
    merci

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par nicerico
    bonjour

    est il possible d'appeler dans un "OnClick" une fonction ajax qui va elle même appeler une fonction php?

    http://javascript.developpez.com/faq...#ajax.acronyme

    L'appel ajax, appelle une page de ton serveur. Après ton serveur peut tout à fait faire autant de PHP qu'il veux dans cette page.

    Pour plus de renseignements, je te conseille:
    http://javascript.developpez.com/cours/#ajax

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut
    merci pour les liens

    j'espere pouvoir trouver et surtout comprendre
    comment récupérer dans la fonction ajax
    les valeurs passées dans la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="http://'.$donnees['url_site'].'" onClick="go('.$donnees['id'].',\'ok\')"
    car c'est ce que je recherche depuis mon 1er post

  4. #4
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par nicerico
    j'espere pouvoir trouver et surtout comprendre
    comment récupérer dans la fonction ajax
    les valeurs passées dans la fonction
    tu as fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.send("ok="+var2"&id_ban="+var1);
    tu retrouveras donc tes variables dans la page PHP, dans le vecteur $_POST sous les noms ok et id_ban....

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut
    je n'y arrive pas

    je resume :
    je voudrais sur un evenement clic, envoyer une variable dans un autre fichier
    afin de mettre à jour le champ d'une table

    fichier head.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick="go('.$donnees['id'].')"
    fonction go dans même fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function go(var1){
    getXhr()
    xhr.onreadystatechange = function(){
       if(xhr.readyState == 4 && xhr.status == 200){
            c'est ici que je bloque
      }
    }
    xhr.open('GET', "../index.php?ajax_id_ban="+var1, true);
    xhr.send(null);
    }
    où index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if(isset($_REQUEST["ajax_id_ban"])){
    $id_ban=$_REQUEST["ajax_id_ban"];
    	function cpt_clic($id_ban) {
    	connect();
    	$sql = "UPDATE a_bann SET nb_clic = nb_clic+1 WHERE id = ".$id_ban;
    	$req = mysql_query($sql) or die(mysql_error());
    	deconnect();
    	}
    }
    merci de votre aide

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut
    pas de réponse...
    cela veut dire que cela parait être correct?
    ou parce que cela est impossible à réaliser?

    d'avance Merci

  7. #7
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par nicerico
    pas de réponse...
    cela veut dire que cela parait être correct?
    ou parce que cela est impossible à réaliser?

    d'avance Merci
    Vu que tu fais juste un update, un message simple de type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alert('mise à jour effectuée');
    Conviendra très bien....

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut
    ok merci

    tout le reste te parait correct?
    car mon update ne se fait pas...

  9. #9
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par nicerico
    ok merci

    tout le reste te parait correct?
    car mon update ne se fait pas...
    Est-ce que ce message d'alert s'affiche correctement?

    Je ne suis pas spécialiste du PHP, mais tu n'aurais pas oublié d'appeller la méthode cpt_clic que tu as définie?

Discussions similaires

  1. appel de fonction php dans une commande ajax
    Par thor76160 dans le forum jQuery
    Réponses: 8
    Dernier message: 26/03/2021, 14h36
  2. [AJAX] Appel de fonction php avec ajax
    Par simoinfonet dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/05/2008, 11h39
  3. Appeler une fonction php dans une requete mysql
    Par yobogs dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/11/2007, 13h43
  4. Réponses: 1
    Dernier message: 25/10/2007, 21h25
  5. [PHP-JS] appeler une fonction javascript dans un lien
    Par kawther dans le forum Langage
    Réponses: 2
    Dernier message: 25/04/2007, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo