Ciao questo deve essere il 5 post che faccio e nessuno o quasi mi ha dato qualche indizio.
Io cerco qualcuno che mi dia effettivamente un valido aiuto continuo per cercare di risolvere un problema che affligge la mia chat.
Il probelma è che la chat quando ci sono molti utenti collegati tende a non inviare il messaggio che viene scritto con la rabbia che poi non si vede apparire il messggio appena scritto e bisogna ridigitarlo di nuovo.
Io mi chiedo, non essendo molto pratico di php, cosa possa essere, quale sia il motivo che porta a questo difetto.
Qualcuno mi può aiutare a risolvere questo inghippo?, io posso postare due pagine che dovrebbero essere quelle che portano l'errore: chat.php e insert.php ma ce ne sono altre che se vi servono io posso postare (altra cosa la mia chat si basa su foglio di testo e non su database o mysql).
Ora vi posto i due codici delle due pagine:
chat.php:
Codice PHP:
<html>
<head>
<title>Happy Chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language = "JavaScript">
function textCounter(field, countfield, maxlimit) {
if(field.value.length > maxlimit){
field.value = field.value.substring(0, maxlimit);
}
else{
countfield.value = maxlimit - field.value.length;
}
}
</script>
<script language="javascript">
function aggiungi(y)
{
espressione=document.form_ins.messaggio.value;
new_espressione=espressione + y;
document.form_ins.messaggio.value=new_espressione;
}
</script>
<style>
.stile {
background:#FFFFFF;
font-family:verdana;
font-size:8pt;
SCROLLBAR-BASE-COLOR: #0099CC;
SCROLLBAR-ARROW-COLOR: #FFFFFF;
}
</style>
</head>
<body bgcolor="#FBBEAA">
<?
include("config.php");
$nick=$_GET['nick'];
$nick=strtolower($nick);
$nick=stripslashes($nick);
$password=$_GET['password'];
$password=strtolower($password);
$password_cr=crypt($password,$nick);
$password_cr=str_replace("|","*",$password_cr);
if (!(file_exists($file_reg)))
{fopen($file_reg,"w");}
$utente=$nick."|".$password;
$utente_ok=0;
$ut_regist=file($file_reg);
$dim_reg=count($ut_regist);
for ($i=0;$i<$dim_reg;$i++)
{
$dati_ut=explode("|",$ut_regist[$i]);
$nick_ut=$dati_ut[0];
$pass_ut=$dati_ut[1];
if (($nick==$nick_ut) & ($password_cr==$pass_ut)) $utente_ok=1;
}
if ($utente_ok==1)
{
if (!(file_exists($file_online)))
{fopen($file_online,"w");}
$dim_file=filesize($file_online);
$dim_max=14000; // Dimensione in bytes massima per ricreare il file online
if ($dim_file>$dim_max)
fopen($file_online,"w");
$ar_orario=getdate();
$ora=$ar_orario['hours'];
$minuti=$ar_orario['minutes'];
$secondi=$ar_orario['seconds'];
if (strlen($minuti)==1) $minuti="0".$minuti;
if (strlen($secondi)==1) $secondi="0".$secondi;
$data=date("d/m/Y");
$orario=$ora.":".$minuti.":".$secondi;
$utente=$nick."|".$data."|".$orario."\n";
$ins_online=fopen($file_online,"a+");
fputs($ins_online,$utente);
fclose($ins_online);
}
else
{
echo "<center>[b]E' STATO INSERITO
UN NICK O UNA PASSWORD
NON CORRETTI,
OPPURE NON SEI
ANCORA REGISTRATO.[/b]
";
echo "<a href=\"javascript:history.back();\">TORNA AL LOGIN</a></center>";
exit;
}
?>
<div align="center">
<table width="185" align="center" bordercolor="#000000" bgcolor="#E7E9FA" style="border:1px solid;">
<tr>
<td width="177" height="21" bgcolor="#BBC2F2"><div align="center"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]CHAT GLOBALMETEO
[/b]</font></div></td>
</tr>
<tr>
<td height="21"><div align="center"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Benvenuti nella chat meteo Globalmeteo.org! Buona segnalazione meteo a tutti gli utenti! </td>
</tr>
</table>
<form method="GET" action="insert.php" name="form_ins" >
<table width="185" align="center" bordercolor="#000000" bgcolor="#E7E9FA" style="border:1px solid;">
<tr>
<td width="185" height="21" colspan="6" bgcolor="#BBC2F2"><div align="center"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]SIMBOLI METEO-SMILES[/b]</font></div></td>
</tr>
<tr><td colspan="4"><div align="center">
<?
if ( empty($_GET['faccina']) ) $faccina = "" ;
else $faccina = $_GET['faccina'] ;
echo "
<select name=\"faccina\" size=\"1\">
<option value=\"[em1]\" ";
if ( $faccina == "[em1]" ) echo " selected" ;
echo ">sereno</option>
<option value=\"[em2]\" ";
if ( $faccina == "[em2]" ) echo " selected" ;
echo ">poco-nuvoloso</option>
<option value=\"[em3]\" ";
if ( $faccina == "[em3]" ) echo " selected" ;
echo ">nuvoloso</option>
<option value=\"[em4]\" ";
if ( $faccina == "[em4]" ) echo " selected" ;
echo ">luna</option>
<option value=\"[em5]\" ";
if ( $faccina == "[em5]" ) echo " selected" ;
echo ">luna-nuvoloso</option>
<option value=\"[em6]\" ";
if ( $faccina == "[em6]" ) echo " selected" ;
echo ">pioggia</option>
<option value=\"[em7]\" ";
if ( $faccina == "[em7]" ) echo " selected" ;
echo ">pioggia-neve</option>
<option value=\"[em8]\" ";
if ( $faccina == "[em8]" ) echo " selected" ;
echo ">temporale</option>
<option value=\"[em11]\" ";
if ( $faccina == "[em11]" ) echo " selected" ;
echo ">temporale-pioggia</option>
<option value=\"[em9]\" ";
if ( $faccina == "[em9]" ) echo " selected" ;
echo ">neve</option>
<option value=\"[em10]\" ";
if ( $faccina == "[em10]" ) echo " selected" ;
echo ">nebbia</option>
<option value=\"[em12]\" ";
if ( $faccina == "[em12]" ) echo " selected" ;
echo ">caldo</option>
<option value=\"[em13]\" ";
if ( $faccina == "[em13]" ) echo " selected" ;
echo ">freddo</option>
<option value=\"[em14]\" ";
if ( $faccina == "[em14]" ) echo " selected" ;
echo ">vento</option>
</select>
";
?> </td>
<td height="21"><div align="center">[img]emoticons/em15.gif[/img]</div></td></tr>
<tr>
<td height="21"><div align="center">[img]emoticons/em16.gif[/img]</div></td>
<td height="21"><div align="center">[img]emoticons/em17.gif[/img]</div></td>
<td height="21"><div align="center">[img]emoticons/em18.gif[/img]</div></td>
<td height="21"><div align="center">[img]emoticons/em19.gif[/img]</div></td>
<td height="21"><div align="center">[img]emoticons/em20.gif[/img]</div></td>
</tr>
</table>
<table width="185" align="center" bordercolor="#000000" bgcolor="#E7E9FA" style="border:1px solid;">
<tr>
<td height="21" bgcolor="#BBC2F2"><div align="center"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]MESSAGGIO[/b]</font></div></td>
</tr>
<tr>
<td ><form method="GET" action="insert.php" name="form_ins" >
<table width="170" border="0" align="center">
<tr>
<td colspan="2"><div align="center">
<textarea rows="5" onKeyDown="textCounter(this.form.messaggio,this.form.rem,300);" onKeyUp="textCounter(this.form.cjmsg,this.form.rem,300);" cols="18" type="text" name="messaggio"></textarea>
</div></td>
</tr>
<tr>
<td><div align="right"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Lettere
rimaste:</font></div></td>
<td><div align="center">
<input readonly class="stile" type=text name=rem size=3 maxlength=3 value="300">
</div></td>
</tr>
<tr>
<td height="26" colspan="2"> <div align="center">
<?
echo "<input type=\"hidden\" name=\"nick\" value=\"$nick\">";
echo "<input type=\"hidden\" name=\"password\" value=\"$password\">"
?>
<input type="submit" name="Submit" value="Invia messaggio">
</div></td>
</tr>
</table>
</form></td>
</tr>
</table>
</div>
<div align="center">
<a href="http://www.globalmeteo.altervista.org/reg.html" target="_blank">
[b]<font size="2" face="arial">Leggi il regolamento
della chat</font>[/b]</a>
______________________
</body>
</html>
insert.php:
Codice PHP:
<html>
<head>
<title>Inserimento del messaggio</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
include("config.php");
$nick=$_GET['nick'];
$password=$_GET['password'];
$messaggio=$_GET['messaggio'];
$messaggio=stripslashes($messaggio);
$messaggio=str_replace("\n"," ",$messaggio);
$commento="[".date("H:i - d/m/Y")."] ".$nick."|".$messaggio."\n";
if ( !empty($_GET['faccina']) ) $commento = $_GET['faccina']." ".$commento ;
$url="chat.php"."?nick=".$nick."&password=".$password;
if ( !empty($_GET['faccina']) ) $url .= "&faccina=".$_GET['faccina'] ;
$cercamsg = strstr($messaggio,"<");
$cercamsg2 = strstr($messaggio,">");
if (empty($messaggio))
{
Header("Location: $url");
}
elseif ($cercamsg & $cercamsg2)
{
Header("Location: $url");
}
else
{
$apri_file=fopen($file_mess,"a+");
fputs($apri_file,$commento);
fclose($apri_file);
Header("Location: $url");
}
?>
</body>
</html>