Allora ho trovato questa chat ma è possibile che ci deve essere sempre qualcosa che non riesco a mettere apposto
file ajch.css
codice:
#alert {
font-family: Arial,Verdana,Helvetica,sans-serif,monospace;
color: red;
font-size: 12px;
}
#chatresp {
border: 1px solid;
overflow: auto;
height: 400px;
width: 400px;
position: relative;
font-family: Arial,Verdana,Helvetica,sans-serif,monospace;
font-size: 12px;
}
file send.js
codice:
if(document.getElementById){
window.alert = function(text){
err(text);
}
}
function err(text){
document.getElementById("alert").innerHTML = text;
setTimeout('document.getElementById("alert").innerHTML = ""', 3000);
}
function makeRequest(){
if(window.XMLHttpRequest){
return new XMLHttpRequest();
} else if(window.ActiveXObject){
return new ActiveXObject("Microsoft.XMLHTTP");
} else {
err("You browser doesn't support XMLHttpRequestObject");
}
}
var req = makeRequest();
function send(){
if(req.readyState == 4 || req.readyState == 0){
if(document.chatform.guestname.value != "" && document.chatform.chatext.value != ""){
req.open("GET", "send.php?name="+document.chatform.guestname.value+"&msg="+escape(document.chatform.chatext.value));
//req.onreadystatechange = handleResp;
req.send(null);
} else {
alert('Hey where is your name or message??');
}
}
document.chatform.chatext.value = '';
}
function recieve(){
req.open("GET", "recieve.php");
req.onreadystatechange = handleresponse;
req.send(null);
}
function handleresponse(){
if(req.readyState == 4 && req.status == 200){
document.getElementById("chatresp").innerHTML = req.responseText;
//document.chatform.chatresp.value = req.responseText;
//var txt = document.createTextNode(req.responseText+"\n----------------------------------------\n");
//document.chatform.chatresp.appendChild(txt);
var elem=document.getElementById("chatresp");
elem.scrollTop=elem.offsetHeight*elem.offsetHeight;
//var elem = document.getElementById("chatresp");
//elem.scrollTop = elem.scrollHeight;
}
}
function init(){
var num = parseInt(Math.random()*10);
var stnum = String(num);
var num1 = parseInt(Math.random()*10);
var stnum1 = String(num1);
var num2 = parseInt(Math.random()*10);
var stnum2 = String(num2);
var num3 = parseInt(Math.random()*10);
var stnum3 = String(num3);
document.chatform.guestname.value = document.getElementById("nome").value;
setInterval('recieve()', 2000);
recieve();
if(document.images){
angel = new Image(22,19);
angel.src = "smileys/angel.png";
angry = new Image(18,18);
angry.src = "smileys/angry.png";
blush = new Image(18,18);
blush.src = "smileys/blush.png";
cool = new Image(18,18);
cool.src = "smileys/cool.png";
cry = new Image(18,19);
cry.src = "smileys/cry.png";
erm = new Image(18,18);
erm.src = "smileys/erm.png";
gasp = new Image(18,20);
gasp.src = "smileys/gasp.png";
grin = new Image(18,19);
grin.src = "smileys/grin.png";
kiss = new Image(18,18);
kiss.src = "smileys/kiss.png";
money = new Image(18,19);
money.src = "smileys/money.png";
sad = new Image(18,18);
sad.src = "smileys/sad.png";
scared = new Image(18,18);
scared.src = "smileys/scared.png";
smile = new Image(18,18);
smile.src = "smileys/smile.png";
tongue = new Image(18,19);
tongue.src = "smileys/tongue.png";
wink = new Image(18,18);
wink.src = "smileys/wink.png";
wub = new Image(18,18);
wub.src = "smileys/wub.png";
}
}
window.onload = init;
file send.php
Codice PHP:
<?php
function makeSmiley($msg){
$file = file("smiley.txt");
for($i=0;$i<count($file);$i++){
$exp = explode('|', $file[$i]);
$msg = str_replace($exp[0], $exp[1], $msg);
}
return $msg;
}
function filter($msg){
$f = file("badwords.txt");
for($i=0;$i<count($f);$i++){
$bad_words = explode(',', $f[$i]);
}
foreach ($bad_words as $naughty){
$msg = eregi_replace($naughty, "*****", $msg);
}
return $msg."\n";
}
if(isset($_GET['msg']) && isset($_GET['name'])){
$text = $_GET['msg'];
$name = $_GET['name'];
$text = stripslashes($text);
$text = filter($text);
$text = makeSmiley($text);
$f = fopen('prova.txt', 'a');
fwrite($f, $name." said: ".$text."");
fclose($f);
} else {
exit();
}
?>
file recive.php
Codice PHP:
<?php
$fr = file('prova.txt');
for ($i=0;$i<count($fr);$i++){
$zz=htmlentities($fr[$i]);
echo $zz."
";
}
?>
file chat.php
Codice PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="send.js"></script>
<link rel="stylesheet" type="text/css" href="ajch.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento senza titolo</title>
</head>
<body>
<form name="chatform" onSubmit="send()" method="get">
<!--<textarea name="chatresp" cols="50" rows="20" id="chatresp" readonly="readonly"></textarea>
-->
<div id="chatresp" name="chatresp"></div>
<input type="text" name="guestname" id="name" size="7"> :
<input type="text" name="chatext" id="chatext">
<input type="submit" value="Send" onClick="send()">
<input name="nome" type="hidden" id="nome" value="<?php $aa="ciccio"; echo $aa;?>" />
</form>
<div id="alert">
</div>
</body>
</html>
Con firefox non ci sono problemi va che è una meraviglia, mentre con IE ci sono problemi.
Lancio IE e inizio a scrivere non mi visualizza niente , però nel file testo inserisce quello che ho scritto ,quindi la parte send.php funge.
Se provo a d aggiornare la pagina niente come prima.
Se chiudo la pagina e ne riapro un'altra visualizzo quello che avevo scritto prima ( o quello che c'e' nel file di testo) se riprovo a scrivere di nuovo non mi visualizza l'ultima cosa che ho scritto
Dove potrebbe essere il problema?