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

Langage PHP Discussion :

Interaction AJAX et PHP


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 64
    Points : 31
    Points
    31
    Par défaut Interaction AJAX et PHP
    Bonjour j'ai ce bout de 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
    20
    21
    22
    23
     
    function getContent(timestamp)
    {
        var queryString = {'timestamp' : timestamp};
     
        $.ajax(
            {
                type: 'GET',
                url: 'php-long-polling/server/serverNewUser.php',
                data: queryString,
                success: function(data){
                    var obj = jQuery.parseJSON(data);
                    $('#response').html(obj.data_from_file);
                    getContent(obj.timestamp);
                }
            }
        );
    }
     
    // initialize jQuery
    $(function() {
        getContent();
    });
    Le probleme c'est que si je met du PHP dans**php-long-polling/server/serverNewUser.php** il ne s'affiche strictement rien.

    Tandis qu'avec du texte standard cela fonctionne.

    Pouvez vous m'aider svp ?

  2. #2
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 793
    Points : 3 064
    Points
    3 064
    Par défaut
    Bonjour

    Que se passe-t-il quand tu accèdes directement au script ? Accède à http tonsite/php-long-polling/server/serverNewUser.php et vois ce qu'il se passe. Si tu ne vois rien de rien, c'est que ton script PHP est incorrect ou qu'il ne retourne en effet rien.
    Essaie alors un bête "phpinfo();" dans le script, juste ça, histoire de bien voir que le script retourne bien un contenu et de valider ton code javascript.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 64
    Points : 31
    Points
    31
    Par défaut
    Merci.

    J'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {"data_from_file":"test","timestamp":1634884971}
    OU "test" est le contenu de moin fichier

    Sinon je met du php ccomme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php 
    echo "test";
    ?>
    ça me retourne sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"data_from_file":"","timestamp":1634884971}
    Je join aussi mon fichier de traitement :
    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
     
    <?php
    set_time_limit(0);
     
    $data_source_file = 'welcomeMessage.php';
     
    while (true) {
     
        $last_ajax_call = isset($_GET['timestamp']) ? (int)$_GET['timestamp'] : null;
     
        clearstatcache();
     
        $last_change_in_data_file = filemtime($data_source_file);
     
        if ($last_ajax_call == null || $last_change_in_data_file > $last_ajax_call) {
     
            // get content of data.txt
            $data = file_get_contents($data_source_file);
     
            // put data.txt's content and timestamp of last data.txt change into array
            $result = array(
                'data_from_file' => $data,
                'timestamp' => $last_change_in_data_file
            );
     
            // encode to JSON, render the result (for AJAX)
            $json = json_encode($result);
            echo $json;
     
            // leave this loop step
            break;
     
        } else {
            // wait for 1 sec (not very sexy as this blocks the PHP/Apache process, but that's how it goes)
            sleep( 1 );
            continue;
        }
    }

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 64
    Points : 31
    Points
    31
    Par défaut
    Si ceci :
    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
     
    <?php
    set_time_limit(0);
     
    $data_source_file = 'welcomeMessage.php';
     
    while (true) {
     
        $last_ajax_call = isset($_GET['timestamp']) ? (int)$_GET['timestamp'] : null;
     
        clearstatcache();
     
        $last_change_in_data_file = filemtime($data_source_file);
     
        if ($last_ajax_call == null || $last_change_in_data_file > $last_ajax_call) {
     
            // get content of data.txt
            $data = file_get_contents($data_source_file);
     
            // put data.txt's content and timestamp of last data.txt change into array
            $result = array(
                'data_from_file' => $data,
                'timestamp' => $last_change_in_data_file
            );
     
            // encode to JSON, render the result (for AJAX)
            $json = json_encode($result);
            echo $json;
     
            // leave this loop step
            break;
     
        } else {
            // wait for 1 sec (not very sexy as this blocks the PHP/Apache process, but that's how it goes)
            sleep( 1 );
            continue;
        }
    }
    Ne renvoie pas d’interprétation de php est ce que cela se peut etre a cause de ça ?
    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
     
    function getContent(timestamp)
    {
        var queryString = {'timestamp' : timestamp};
     
        $.ajax(
            {
                type: 'GET',
                url: 'php-long-polling/server/serverNewUser.php',
                data: queryString,
                success: function(data){
                    // put result data into "obj"
                    var obj = jQuery.parseJSON(data);
                    // put the data_from_file into #response
                    $('#response').html(obj.data_from_file);
                    // call the function again, this time with the timestamp we just got from server.php
                    getContent(obj.timestamp);
                }
            }
        );
    }
     
    // initialize jQuery
    $(function() {
        getContent();
    });
    Merci

  5. #5
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 420
    Points : 15 789
    Points
    15 789
    Par défaut
    est ce que vous accédez bien à tous ces url en passant par un serveur http avec des adresse du genre http://serveur/repertoire/... ?

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 64
    Points : 31
    Points
    31
    Par défaut
    Oui bien sur.

    Merci

  7. #7
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 420
    Points : 15 789
    Points
    15 789
    Par défaut
    vous avez un souci de configuration du serveur alors si le php n'est pas exécuté.

    vous n'avez pas répondu à cavo789 pour ça :
    Citation Envoyé par cavo789 Voir le message
    Essaie alors un bête "phpinfo();" dans le script, juste ça, histoire de bien voir que le script retourne bien un contenu et de valider ton code javascript.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 64
    Points : 31
    Points
    31
    Par défaut
    La reponse que ya pas de probleme avec PHP

    J'utilise ça si cela peu vous aider :
    https://github.com/panique/php-long-polling

  9. #9
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 420
    Points : 15 789
    Points
    15 789
    Par défaut
    dans votre 1er message vous dite que le php dans "serverNewUser.php" ne s'affiche pas. mais en fait c'est le php dans "welcomeMessage.php" qui vous pose problème, non ?

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 64
    Points : 31
    Points
    31
    Par défaut
    Alors oui.

    Pour etre clair, le serverNewUser.php charge mon fichier welcomeMessage.php qui dedans contient ce que l'on desire.

    Et le contenu de welcomeMessage.php ne pose aucun probleme si je met du texte brute ou du HTML, pour le php il affiche plus rien et cela n'a rien avoir avec php car mon code est correct

    Merci

  11. #11
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 420
    Points : 15 789
    Points
    15 789
    Par défaut
    pour que vous voyez bien ce qu'il se passe avec les appels AJAX, vous pouvez utiliser l'onglet "Réseau" de la console de développement de votre navigateur.
    par exemple avec Firefox, faites Ctrl + Maj + E
    https://developer.mozilla.org/fr/doc...ur_r%C3%A9seau

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 64
    Points : 31
    Points
    31
    Par défaut
    Merci du conseille.

    Aucun fichier est manquant ou non appelé.

    https://github.com/panique/php-long-polling

    Le script est simple.

    Mais impossible d’insérer du php car il n'est pas traité.

    Pouvez vous svp tester le code que j'ai joint .

    On s'en sortira pas sinon

  13. #13
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 420
    Points : 15 789
    Points
    15 789
    Par défaut
    dans la console de développement, regardez le contenu de la réponse. cela se voit quand vous cliquez sur la requête et ensuite à droite cliquez sur l'onglet "réponse".

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 64
    Points : 31
    Points
    31
    Par défaut
    Aucune erreur tout est ok.

    Avez vous essayé le script ?
    Pour comprendre pourquoi on peu pas mettre du php ?

  15. #15
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 420
    Points : 15 789
    Points
    15 789
    Par défaut
    montrez nous une capture d'écran de ce que vous voyez.

  16. #16
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Yu-Chan Voir le message
    Pour etre clair, le serverNewUser.php charge mon fichier welcomeMessage.php qui dedans contient ce que l'on desire.
    Ici tu récupères le texte brut de welcomeMessage.php, le PHP contenu ne sera pas interprété :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $data_source_file = 'welcomeMessage.php';
    ...
    $data = file_get_contents($data_source_file);
    Si tu veux le résultat du script il faut au choix :
    -- soit utiliser les fonctions de temporisation de sortie ob_start() / ob_get_clean() et include()
    -- soit faire un nouvel appel au serveur web file_get_contents('https://.../welcomeMessage.php')

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 64
    Points : 31
    Points
    31
    Par défaut
    Salut ben, ou on pace ,, les ob start et clean ?

    Mathieux a tu essayé essayé coode
    https://github.com/panique/php-long-polling

    J'utlise le même et peut être tu trouvera la réponse a ma question.

    CCD

  18. #18
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 420
    Points : 15 789
    Points
    15 789
    Par défaut
    j'ai une idée du souci mais le but du forum est de vous expliquer comment utiliser les outils pour que vous corrigez le problème vous même la prochaine fois.
    donc si vous voulez cette aide, montrez moi ce que vous voyez.

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 64
    Points : 31
    Points
    31
    Par défaut
    OK.

    Ce qui se passe c'est que tout fonctionne.
    Le texte et HTML fonctionne bien.

    Par contre dans le fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $data_source_file = 'welcomeMessage.php';
    Si je mets du php ça ne retourne aucun résultat et aucune erreur, et tout nickel avec F12 et réseau

    Cdt

  20. #20
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Yu-Chan Voir le message
    Salut ben, ou on pace ,, les ob start et clean ?
    À l'endroit où tu veux récupérer les données, càd à la place du file_get_contents()

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Interaction entre AJAX et PHP
    Par Acarya dans le forum AJAX
    Réponses: 11
    Dernier message: 26/06/2017, 10h06
  2. [AJAX] chat php ajax
    Par xperienss dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/07/2006, 20h49
  3. [AJAX] Moins de requetes possibles sur un server. Ajax ou Php?
    Par trihanhcie dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/05/2006, 13h08
  4. [Librairies] Ajax et PHP, qu'en pensez-vous ?
    Par shadeoner dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 05/05/2006, 12h41
  5. [AJAX] Communication PHP ~ JavaScript
    Par TheBaeK1 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/05/2006, 18h24

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