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 :

[AJAX] Afficher instantanément les messages des internautes


Sujet :

AJAX

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 19
    Par défaut [AJAX] Afficher instantanément les messages des internautes
    Bonjour,

    Je ne connais rien à l'Ajax mais j'aimerais mettre en place deux fonctionnalités qui nécessitent je crois ce type de code.

    Premièrement, je crée une page pour une webradio. Une div affiche le titre du morceau entendu actuellement. J'aimerais recharger uniquement le contenu de ce div toutes les x secondes sans actualiser toute la page entière (pour ne pas que la musique s'interrompt). Voici le code contenu dans ce div :

    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
    45
    46
    47
    48
    49
    50
     
    <div class="texteradio2">
    <? 
    $ip = "www.media-tchat.org";  
    $port = "8000"; 
     
    $fp = @fsockopen("$ip", "$port", $errno, $errstr, 30); 
     
    if(!$fp) 
    { 
    $auditeurs = "0"; 
    $places = "0"; 
    $etat = "Serveur d&eacute;connect&eacute;."; 
    } 
     
    else 
    { 
    fputs($fp, "GET /7.html HTTP/1.0\r\nUser-Agent: Mozilla/4.0\r\n\r\n"); 
     
    while(!feof($fp)) 
    { 
    $content .= fgets($fp,128); 
    } 
     
    fclose($fp); 
    $debut = strpos($content, '<body>') + strlen('<body>'); 
    $fin = strpos($content, '</body>', $debut); 
    $servi = substr($content, $debut, $fin - $debut); 
    $option = explode(',', $servi); 
     
    if ($option[1] == 0) 
    { 
    $auditeurs = "0"; 
    $places = "0"; 
    $etat = "Aucune source serveur connectée."; 
    } 
    else 
    { 
    $auditeurs = $option[0]; 
    $pointe = $option[2]; 
    $places = $option[3]; 
    $bitrate = $option[5]; 
    $titre = $option[6]; 
    $etat = "Source connectée serveur connecté serveur Ok !"; 
    } 
    } 
    echo "$titre"; 
     
    ?> 
    </div>
    Mon deuxième problème : j'aimerais afficher instantanément les messages (texte qui défile) postés par les internautes dans un champ de texte placé sur la même page. Est-ce que l'Ajax permet cela ?

    Merci de votre aide

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Oui, ce que tu veux faire est possible avec AJAX.

    Je ne connais rien à l'Ajax
    Alors il va falloir t'y mettre, parce que nous ne sommes pas là pour coder pour toi.
    Cours AJAX.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par darius1000 Voir le message
    Mon deuxième problème : j'aimerais afficher instantanément les messages (texte qui défile) postés par les internautes dans un champ de texte placé sur la même page. Est-ce que l'Ajax permet cela ?
    "Instantanément" ? Ce sera à mettre à jour toutes les x secondes, comme l'autre. Vraiment instantanément ça reste faisable avec les websockets, mais c'est nettement moins bien géré par les navigateurs et les serveurs.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 19
    Par défaut
    Merci à vous deux pour vos réponses

    OK Bovino, je vais apprendre l'Ajax mais peut-être pourrais-tu m'indiquer quel chapitre je dois étudier en premier dans ce vaste site. J'aimerais bien pouvoir mettre en place les éléments avant d'avoir fini de lire la dernière leçon

    Thelvin, mettre à jour le div toutes les x secondes est bien suffisant. Je me suis mal exprimé, je ne cherche pas réellement une actualisation instantanée...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 29
    Par défaut
    Pour ton rafraîchissement toutes les x secondes, faudra passer par du setInterval().
    Pour rafraîchir juste ton <div>, faudra faire une requête ajax soit par du XmlHttpRequest directement, soit assisté par un frameworks style JQuery qui peut te simplifier un peu l'utilisation du javascript.
    http://api.jquery.com/jQuery.ajax/
    Mais tu peux pas trop te lancer sans apprendre les bases pour savoir ce que tu fais quand même.
    Bon courage.

Discussions similaires

  1. Capturer les messages des autres fenêtres
    Par JulienDuSud dans le forum Windows Mobile
    Réponses: 2
    Dernier message: 10/10/2008, 13h22
  2. integrer les messages des fenetres dans une main loop
    Par d'Oursse dans le forum Windows
    Réponses: 3
    Dernier message: 15/06/2007, 19h29
  3. [MySQL] il n'affiche pas les messages reçus
    Par schats dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/04/2007, 10h33
  4. protéger les images des internautes ?
    Par WBO dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 17/05/2005, 17h14

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