1. чат не использует DB. 2. это даже не зат а как заметки... сам чат: | Код | <body bgcolor="#F5F1EB"> <center><table width="90%" height="92" border="0" cellpadding="1" cellspacing="1" bgcolor="#F5F1EB"> <tr> <th scope="col"><div align="left"> <?php $nick = $_COOKIE['user']; include("chat.htm"); ?> </div></th> </tr> <tr> <th scope="col"><form name="form1" method="post" action="shout.php"> <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#F5F1EB"> <tr> <!--<td scope="col"><strong>Nick:</strong></td>--> <th scope="col"><div align="left"> <?php echo '<input name="name" type="hidden" id="name" readonly="readonly" size="15" maxlength="15" value="'.$nick.'">'; ?> </div></th> </tr> <tr> <td><strong>сообщение:</strong></td> <td><textarea name="message" cols="100" rows="2" id="message"></textarea></td> </tr> <tr> <td colspan="2" align="center"> <input name="Submit" type="submit" value="сказать"> <input type="reset" name="Submit2" value="сбросить">
<input align="left" name="Submit3" type="button" value="обновить" onClick="javascript:location.reload()"> </td> </tr> </table></form></th> </tr> </table></center></body>
|
Теперь shout.php тобишь то что обрабатывает запрос | Код | <?php $dataf = "chat.htm"; $logf = "chatlog.htm"; $length = 200; $comments = 40; $comments2 = 400; $textsize = 4; $name = $_COOKIE['user']; $message = $_POST['message']; $name = $name.':'; $name = str_replace("/\/","edited",$name); $name = preg_replace("/>/",">",$name); $name = preg_replace("/</","<",$name); $name = preg_replace('/"/','',$name); $message = preg_replace('/"/','',$message); $url = preg_replace('/"/','',$url); $name = str_replace("onmouse","",$name); $message = str_replace("onmouse","",$message); $url = str_replace("onmouse","",$url); $message = preg_replace("/>/",">",$message); $message = preg_replace("/</","<",$message); $url = preg_replace("/>/",">",$url); $url = preg_replace("/</","<",$url); $url = str_replace("echo","****",$url); $url = str_replace("/\/","edited",$url); $url = str_replace("/\/","edited",$url); $message = str_replace("/\/","edited",$message); $message = str_replace("?php","****",$message); $message = str_replace("?php","****",$message); $name = str_replace("echo","****",$name); $message = str_replace("echo","****",$message); $message = stripslashes($message); $name = stripslashes($name); $wrap = intval((35)/($textsize-2))+1; $tdate = date("d.m.Y H:i"); $message = wordwrap($message, $wrap, ' ', 1); $comfile = file($dataf); $comfile2 = file($logf); if ($message != "") { $lf = fopen ($logf, "w"); $df = fopen ($dataf, "w"); $message = stripslashes($message); fwrite ($lf, "<font color=green><b>$tdate: </color></b><font color=#16588B><b>$name</b></font><font color=#000000> $message\n<br>"); for ($j = 0; $j < $comments2; $j++) {fwrite ($lf, $comfile2[$j]);}fclose($lf); fwrite ($df, "<font color=green><b>$tdate: </color></b><font color=#16588B><b>$name</b></font><font color=#000000> $message\n<br>"); for ($i = 0; $i < $comments; $i++) {fwrite ($df, $comfile[$i]);}fclose($df);} Header("Location: $HTTP_REFERER"); ?>
|
поскольку: $comments = 40; $comments2 = 400; будут ошибки в 45 и 47 строках, как исправить я не знаю или просто не понимаю... Сообщение ошибке: | Код | Notice: Undefined offset: x in d:\apaheserver\home\localhost\www\muonline\admin_panel\shout.php on line y
|
где x = от последнего символа (1 - 400) и где y строка с ошибкой (44 OR 46) Заранее благодарю. А почуему меня спасло: <? ob_start(); ?> ?????? Объясните пожалуйста. Это же вроде как буферизация?! Это сообщение отредактировал(а) adamant - 23.4.2006, 22:47
|