Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 19/11/2012, 23h22   #1
darius1000
Invité de passage
 
Inscription : juillet 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 19
Points : 3
Points : 3
Par défaut 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 :
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
darius1000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2012, 07h50   #2
Bovino
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 18 075
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 42
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 18 075
Points : 64 531
Points : 64 531
Oui, ce que tu veux faire est possible avec AJAX.

Citation:
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2012, 09h55   #3
thelvin
Modérateur
 
Inscription : septembre 2004
Messages : 7 082
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 7 082
Points : 10 304
Points : 10 304
Envoyer un message via Skype™ à thelvin
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.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher du poisson, il videra le lac et au bout de deux ans son village ne mangera plus jamais.
Partagez vos connaissances, mais aussi comment s'en servir.
thelvin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2012, 00h07   #4
darius1000
Invité de passage
 
Inscription : juillet 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 19
Points : 3
Points : 3
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...
darius1000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2012, 13h44   #5
benjyyyyy
Futur Membre du Club
 
Inscription : juin 2008
Messages : 29
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : juin 2008
Messages : 29
Points : 17
Points : 17
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.
benjyyyyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h26.


 
 
 
 
Partenaires

Hébergement Web