par
haco28 » 12 sept. 2007, 15:27
a présent j'ai changé mon code :
"test.php"
Code : Tout sélectionner
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title></title>
<script>
var texte = '';
/*******************envoie des messages*******************/
function envoieMessage(){
if(document.getElementById("message").value.length > 0){
//envoie du message
texte = document.getElementById("message").value;
}else{
//user na entre aucun message
alert("Impossible d'envoyer le message");
}
a = new Image;
a.src="test_.php?message="+texte;
}
/*******************Lecture de la base de donnee*******************/
function lireBaseDeDonnee(){
fichier = "test_.php";
nav = navigator.appName.substring(0,3);
if(nav=="Mic"){//Microsoft IE
objXml = new ActiveXObject("Microsoft.XMLHTTP");
var datafile = fichier;
objXml.open("GET",datafile,true);
objXml.onreadystatechange = function(){
if(objXml.readyState==4){
texte=(objXml.responseText);
}
}
objXml.send(null);
}else{//Firefox
objXml = new XMLHttpRequest();
objXml.open("GET",fichier,false);
objXml.send(null);
return(objXml.responseText);
}
}
/*******************afficher les messages*******************/
function afficherChat(){
lireBaseDeDonnee();
document.getElementById("messagebox").innerHTML=texte;
}
setInterval("afficherChat()", 1000)//rafraicshissement toutes les 1 sec
</script>
</head>
<body onLoad="afficherChat()">
<form action="">
<input type="text" name="message"/>
<input type="button" value="Go!" onClick="lireBaseDeDonnee();envoieMessage();afficherChat()" />
<div id="messagebox"></div>
</form>
</body>
</html>
et test_.php
Code : Tout sélectionner
<?
// CONNECTION SQL
require('mysql_connect.php');
if(isset($_GET['message'])){
$req="insert into HASH_chat_message values('".$_GET['message']."');";
mysql_query($req);
}
$req="select * from HASH_chat_message;";
$result = mysql_query($req);
$ligne = mysql_fetch_array($result,MYSQL_NUM);
echo $ligne[0].'<br />';
while($ligne = mysql_fetch_array($result,MYSQL_NUM)){
echo $ligne[0].'<br />';
}
mysql_close();
?>
voila mon probleme :
- sous internet explorer
-pas d'erreur de javascript
-les messages presens dans la base sont affichés
-lors de l'envoie d'un message , le message s'enregistre mais la page ne s'actualise pas

- sous firefox :
- erreur JAVASCRIPT dans la console :
Code : Tout sélectionner
Erreur : document.getElementById("message") has no properties
Fichier source : http://haco28.free.fr/test.php
Ligne : 37
Quelq'un peux m'aider pour la compatibilité des navigateur et le rafraichissement de la div ?
merci a tous.
a présent j'ai changé mon code :
"test.php"
[code]
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title></title>
<script>
var texte = '';
/*******************envoie des messages*******************/
function envoieMessage(){
if(document.getElementById("message").value.length > 0){
//envoie du message
texte = document.getElementById("message").value;
}else{
//user na entre aucun message
alert("Impossible d'envoyer le message");
}
a = new Image;
a.src="test_.php?message="+texte;
}
/*******************Lecture de la base de donnee*******************/
function lireBaseDeDonnee(){
fichier = "test_.php";
nav = navigator.appName.substring(0,3);
if(nav=="Mic"){//Microsoft IE
objXml = new ActiveXObject("Microsoft.XMLHTTP");
var datafile = fichier;
objXml.open("GET",datafile,true);
objXml.onreadystatechange = function(){
if(objXml.readyState==4){
texte=(objXml.responseText);
}
}
objXml.send(null);
}else{//Firefox
objXml = new XMLHttpRequest();
objXml.open("GET",fichier,false);
objXml.send(null);
return(objXml.responseText);
}
}
/*******************afficher les messages*******************/
function afficherChat(){
lireBaseDeDonnee();
document.getElementById("messagebox").innerHTML=texte;
}
setInterval("afficherChat()", 1000)//rafraicshissement toutes les 1 sec
</script>
</head>
<body onLoad="afficherChat()">
<form action="">
<input type="text" name="message"/>
<input type="button" value="Go!" onClick="lireBaseDeDonnee();envoieMessage();afficherChat()" />
<div id="messagebox"></div>
</form>
</body>
</html>
[/code]
et test_.php
[code]
<?
// CONNECTION SQL
require('mysql_connect.php');
if(isset($_GET['message'])){
$req="insert into HASH_chat_message values('".$_GET['message']."');";
mysql_query($req);
}
$req="select * from HASH_chat_message;";
$result = mysql_query($req);
$ligne = mysql_fetch_array($result,MYSQL_NUM);
echo $ligne[0].'<br />';
while($ligne = mysql_fetch_array($result,MYSQL_NUM)){
echo $ligne[0].'<br />';
}
mysql_close();
?>
[/code]
voila mon probleme :
- sous internet explorer
-pas d'erreur de javascript
-les messages presens dans la base sont affichés
-lors de l'envoie d'un message , le message s'enregistre mais la page ne s'actualise pas :(
- sous firefox :
- erreur JAVASCRIPT dans la console :
[code]Erreur : document.getElementById("message") has no properties
Fichier source : http://haco28.free.fr/test.php
Ligne : 37[/code]
Quelq'un peux m'aider pour la compatibilité des navigateur et le rafraichissement de la div ?
merci a tous.