Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/09/2007, 22h33   #1
Membre à l'essai
 
Inscription : décembre 2003
Messages : 107
Détails du profil
Informations personnelles :
Âge : 41
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : décembre 2003
Messages : 107
Points : 21
Points : 21
Par défaut rafraichir div automatiquement

bonsoir à tous,

j'ai vue qu'avec la fonction setinterval on pouvait mettre à jour un div...

je réalise un petit tchat la page appeler s'appelle popup.php

et elle est composé de 4 div :

1 qui affiche les personnes, 1 la fiche de la personne, 1 la zone de message (a rafraichir automatiquement) et 1 zone textare pour saisir les messages....

voic le code html.... pourriez vous me donner un grand coup de main en me faisant un petit script rapide... et ou le placer dans la page

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
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<eta http-equiv="Refresh" content="10" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
<style>
* {margin:0; padding:0}
.tchat { float:left; display:block; width:700px}
 
.tchat-left { float:left; display:block; height:600px; width:249px; border-right:1px solid #ccc}
.tchat-right { float:right; display:block; height:600px; width:450px}
 
.tchat-top { float:left; display:block; height:69px; width:450px; padding:5px; border-bottom:1px solid #ccc}
#tchat-middle { float:left; display:block; height:330px; width:450px; overflow-x: hidden; padding:5px}
.tchat-bottom { float:left; display:block; background:yellow; height:169px; width:450px; padding:5px; border-top:1px solid #ccc; overflow-x: hidden}
 
</style>
 
</head>
 
<body>
 
<div class="tchat">
	<div class="tchat-left">les personnes en discussions</div>
	<div class="tchat-right">
		<div class="tchat-top">la fiche du membre avec qui on discute</div>
		<script language="javascript">
window.onload = auto_refresh;
 
function auto_refresh()
{
	new Ajax.Updater('tchat-middle', 'popup.php', {parameters:'mode=auto_refresh', evalScripts:true, asynchronous:true})
 
  setTimeout("auto_refresh()",4000);
  return true
}
 
</script>
		<div id="tchat-middle">la zone des messages à rafraichir</div>
		<div class="tchat-bottom">la zone de saisie de messages</div>
	</div>
</div>
 
</body>
</html>

MERCI DE VOTRE AIDE
jarod71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2007, 23h18   #2
Membre à l'essai
 
Inscription : décembre 2003
Messages : 107
Détails du profil
Informations personnelles :
Âge : 41
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : décembre 2003
Messages : 107
Points : 21
Points : 21
bon j'ai fait des modifs pour FF cela fonctionne bien... mais sous IE 6 cela ne fonctionne pas...

j'ai ajouter ça et un fichier message.php mais sous IE 6 des que je tape un message rien ne s'affiche si j'essaye de poster un message à partir de firefox à destination du membre IE6.... RIEN NON PLUS
par contre quand je poste du menbre IE6 vers FF cela fonctionne parfaitement sous FF

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
 
</style>
<script type="text/javascript">
function refresh_div()
{
 
	var xhr_object = null;
	if(window.XMLHttpRequest)
		{ // Firefox
			xhr_object = new XMLHttpRequest();
		}
	else if(window.ActiveXObject)
		{ // Internet Explorer
			xhr_object = new ActiveXObject('Microsoft.XMLHTTP');
		}
	var method = 'GET';
	var filename = 'message.php?idc=<?php echo $idc; ?>&id=<?php echo $_SESSION["RO_loginID"]; ?>';
	xhr_object.open(method, filename, true);
	xhr_object.onreadystatechange = function()
		{
			if(xhr_object.readyState == 4)
			{
				var tmp = xhr_object.responseText;
				document.getElementById('tchat-middle').innerHTML = tmp;
			}
		}
	xhr_object.send(null);
	setTimeout('refresh_div()', 2000);
}
</script>
</head>
 
<body onload='refresh_div();'>
la page message.php

Code :
1
2
3
4
5
6
7
$link = mysql_connect($server, $login, $pass);
mysql_select_db($dbase, $link);
$sqlmessage_list='SELECT * FROM ro_tchatmessage WHERE tchatusersconnect_ID="'.$idc.'" AND tchatusers_ID="'.$id.'" ORDER BY datetchatmessage DESC';
$resmessage_list=mysql_query($sqlmessage_list);
while($resumessage_list=mysql_fetch_array($resmessage_list))
{ echo stripslashes($resumessage_list["tchatmessage"]).'<br />'; }
?>
jarod71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2007, 12h15   #3
Membre à l'essai
 
Inscription : décembre 2003
Messages : 107
Détails du profil
Informations personnelles :
Âge : 41
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : décembre 2003
Messages : 107
Points : 21
Points : 21
j'ai repris mon script à zéro et sous FIREFOX aucun problème...
sous IE6 PROBLEME !!!

en faites j'ai donc 2 fenêtres ouvertes 1 popup sous IE6 et 1 sous FF... quand je poste de IE6 vers FF, cela apparait bien dans la fenetre FF... il rafaraichit bien car j'ai mis un compteur et il marche sous les 2 navs...

on dirait simplement qu'il n'arrive pas à lire la requete SQL sous IE6.... quelqu'un à une idée....

la page message.php
Code :
1
2
3
4
5
6
$link = mysql_connect($server, $login, $pass);
mysql_select_db($dbase, $link);
echo $sqlmessage_list='SELECT * FROM ro_tchatmessage WHERE tchatusersconnect_ID="'.$idc.'" AND tchatusers_ID="'.$id.'" ORDER BY datetchatmessage DESC LIMIT 10';
echo $resmessage_list=mysql_query($sqlmessage_list);
while($resumessage_list=mysql_fetch_array($resmessage_list))
{ echo stripslashes($resumessage_list["tchatmessage"]).'<br />'; }
et la page popup.php

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<?php
require ("../user/class-session.php");
require ("../connexion.php");
switch ($_GET['actionpopup'])
		{
		case 'addmessage';
		require("class-addmessage.php");
		break;
		}
echo $encoding="<"."?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<eta http-equiv="Refresh" content="10" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
<style>
* {margin:0; padding:0}
.tchat { float:left; display:block; width:700px}
 
.tchat-left { float:left; display:block; height:600px; width:249px; border-right:1px solid #ccc}
.tchat-right { float:right; display:block; height:600px; width:450px}
 
.tchat-top { float:left; display:block; height:69px; width:450px; padding:5px; border-bottom:1px solid #ccc}
#tchatmiddle { float:left; display:block; height:330px; width:450px; overflow-x: hidden; padding:5px}
.tchat-bottom { float:left; display:block; background:yellow; height:169px; width:450px; padding:5px; border-top:1px solid #ccc; overflow-x: hidden}
 
</style>
<script type="text/javascript">
var compteur=0;
 
      function Rafraichissement() {
        //var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
 
		var xhr_object = null;
 
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            x = new XMLHttpRequest();
            if (x.overrideMimeType) {
                x.overrideMimeType('text/xml');
                // Voir la note ci-dessous à propos de cette ligne
            }
        }
        else if (window.ActiveXObject) { // IE
            try {
                x = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) {
                try {
                    x = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e) {}
            }
        }
 
 
        if (x) { 
          x.onreadystatechange = function() 
        { 
          document.getElementById('tchatmiddle').innerHTML = x.responseText; 
        } 
          x.open("GET", "message.php?idc=<?php echo $idc; ?>&id=<?php echo $_SESSION["RO_loginID"]; ?>", true);
          x.send(null); 
        }
        document.getElementById('refreshcpt').innerHTML = compteur;
        compteur++;
 
        window.setTimeout("Rafraichissement()", 1000);
 
      }
 
</script>
</head>
 
 <body onload="Rafraichissement()">
 
 
 
<div class="tchat">
	<div class="tchat-left">
 
 
 
	</div>
	<div class="tchat-right">
		<div class="tchat-top">
		<?php switch ($_GET['actionpopup'])
		{
		case 'viewid';
		echo 'muse '.$_GET['idc'];
		break;
		}
		?>
 
		</div>
		<div id="refreshcpt">compteur</div>
		<div id="tchatmiddle">
chargement en cours.............
 
 
 
		</div>
		<div class="tchat-bottom">
			<ol>
			<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?lang=<?php echo $lang; ?>&amp;actionpopup=addmessage">
			<li><textarea name="message" rows="7" cols="42"></textarea></li>
			<li><input type="submit" name="envoyer" value="envoyer" /></li>
			<input type="hidden" value="<?php echo $_SESSION["RO_loginID"]; ?>" name="expediteur" />
			<input type="hidden" value="<?php echo $_GET['idc']; ?>" name="destinataire" />
			</form>
			</ol>
		</div>
	</div>
</div>
 
</body>
</html>
jarod71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h04.


 
 
 
 
Partenaires

Hébergement Web