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

AJAX Discussion :

Appel de fonction PHP


Sujet :

AJAX

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 82
    Par défaut Appel de fonction PHP
    Bonjour,

    Je me doute que la question a déjà été posée mais je ne comprend vraiment pas comment faire.
    J'ai 2 fichier, un fichier HTML codé en html/javascript et un autre avec une/des fonctions(s) PHP.
    Mon but est de faire appel de la fonction writeGPX() depuis la page HTML. Cette fonction n'a (pour le moment) aucun paramètre. Après recherche sur le net, j'ai trouvé qu'il est normale que mon code ne fonctionne pas... Problème client/serveur, et je doit (apparemment) utiliser ajax. Pouvez vous m'expliquer comment?

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 208

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 82
    Par défaut
    Merci , je vais regardé ca.

    De mon coté j'ai trouvé "setInterval". Est-il utilisable en php? Si oui comment?

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 208
    Par défaut
    setInterval appartient à javascript donc coté client, PHP c'est coté serveur.
    Par contre tu peux tout à fait l'utiliser, ou setTimeout, pour relancer des requêtes.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 82
    Par défaut
    Bonjour,

    je suis vraiment désolé mais malgré vos liens je ne parviens même pas a lancer une fonction qui lance un alert (js codé via php) toutes les 10 sec. J'ai ma fonction message dans un fichier fonction.php externe a mon index.php mais rien ne semble fonctionner. Pouvez vous me donner une piste svp?

  6. #6
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 668
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 668
    Par défaut
    montre nous le code que tu as essayé

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 82
    Par défaut
    Ca va vous faire peur mais je vous le met (je n'assume pas vraiment ):
    Mon but dans ce test est de faire affichée l'alert toutes les 30 secondes. Au final mon but sera de recharger un script php (fonction?) depuis ma page d'index toutes les secondes.
    Index.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
    <html>
        <head>
            <title></title>
        </head>
        <body>
            <div id="afficher"> <!-- Maj du résultat ici toutes les 30 secondes--></div>
        </body>
    </html>
     
    <script>
     
     
    $.ajax({
        url: 'fonction.php', 
        type: 'POST',
        success: function(data) {
            echo "<script>alert(\"C'est charger\")</script>";
        }
    });
    </script>
    Fonction.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    function fonction(){
    echo "<script>alert(\"Fonction chargée\")</script>";
     
    }
    ?>
    Merci de votre aide.

  8. #8
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 668
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 668
    Par défaut
    regarde l'exemple là pour faire des répétitions d'appel
    http://jsfiddle.net/sq4r32fg/

  9. #9
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 82
    Par défaut
    Merci, cependant ma page de fonction est en PHP. J'ai vu que setinterval n'existe qu'en JS, c'est pour cela que je me penche vers l'Ajax alors que j'en ais jamais fait, mon but final est d'appeler du PHP.
    Vous êtes sur que je peut appeler une fonction PHP avec setinterval?

  10. #10
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 82
    Par défaut
    Je viens de penser a ça mais je ne sais pas comment le coder :

    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
    <html>
        <head>
             <!-- Lien vers Jquery -->
    	<script type="text/javascript" src="jquery/jquery-2.1.3.min.js"></script>
    	<script type="text/javascript">
     
    		$( document ).ready(function() {
    			// Execute le contenu du setInterval toutes les secondes
    			setInterval(function(){
    				/*Appel du script php*/ 
    				/*Rechargement de la frame ici je pense */
    			}, 1000 /*(temps en ms)*/);
    		});
     
    	</script>
        </head>
        <body>
            <div id="afficher"> <!-- Maj du résultat ici toutes les 30 secondes--></div>
        </body>
    </html>

  11. #11
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 208
    Par défaut
    Il te suffit à réception de la requête de relancer la fonction, exemple avec setTimeout
    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
    function requeteAjax(){
        $.ajax({
                method: "POST",
                url: "url_qui_va_bien.php",
                data: { param_1: valeur_1, param_2: valeur_2 }
            })
            .done(function( data) {
                // utilisation de data
                // ...
                // relance la fonction
                setTimeout( requeteAjax, 1000); // Ici on passe simplement la référence à la fonction
            })
            .fail(function( jqXHR, textStatus) {
                // traitement de l'erreur
            });
    }
    ou un truc approchant.

  12. #12
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 82
    Par défaut
    Ca ne fonctionne pas avec ce code, pourquoi? (Ma page fonction.php est au même endroit).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function requeteAjax(){
        $.ajax({
                method: "POST",
                url: "fonction.php",
            })
            .done(function( data) {
                $('#content').load('fonction.php #content');
                setTimeout( requeteAjax, 1000); 
            })
            .fail(function( jqXHR, textStatus) {
                console.log("Fail !");
            });
    }

  13. #13
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .done(function( data) {
        $('#content').load('fonction.php #content');
        setTimeout( requeteAjax, 1000); 
    })
    peut être qu'un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    .done(function( data) {
        // utilisation de data
        $('#content').html(data);  // mise de la réponse dans le conteneur si c'est du HTML
        // relance la fonction
        setTimeout( requeteAjax, 1000); 
    })
    serait suffisant, pourquoi ce load ?

  14. #14
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 82
    Par défaut
    Et bien il me sert a spécifier le script a executer, non? Dans ton exemple, où est-il mentionné que le code doit charger "fonction.php"?

  15. #15
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 82
    Par défaut
    Juste un petit message pour vous dire que j'ai trouvé !

    Merci de votre aide.

    Code:
    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
        <!--Inclusion du fichier convertisseur.php-->
        <div id="convertisseur"><?php include_once 'convertisseur.php'; ?></div>
        <!--Appel de la librairie jQuery-->
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
        <!--Appel du script javascript-->
        <script type="text/javascript" src="script.js"></script>
    	<script>
    		(function iS(){
    			var execJs= function eJs(){
    			//refresh convertisseur
    			function afficherDate(){
    				$('#convertisseur').load('convertisseur.php');
    			}
    			//Permet de d'appeller la fonction tout les 1000 millisecondes (1 seconde)
    			setInterval(afficherDate, 1000);
    };
    $(execJs);
    })();
    </script>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appel de fonctions php par variable
    Par WagaSeb dans le forum Langage
    Réponses: 2
    Dernier message: 02/06/2007, 11h06
  2. [JQUERY] Comment appeler une fonction php avec jquery
    Par popogendarme dans le forum jQuery
    Réponses: 1
    Dernier message: 20/03/2007, 16h07
  3. [AJAX] [php] appel de fonction php dans evenement
    Par nicerico dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/11/2006, 12h01
  4. Appel de fonction PHP
    Par ghita269 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 14/07/2006, 18h01
  5. Problème de variable lors d'1 appel de fonction PHP
    Par kriekbellevue dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 14/02/2006, 17h49

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