Пишу сайт и не могу сделать так чтобы пользователи могли оставлять коменты. Подскажите как это можно сделать? пока сделал так: На странице поставил поле для ввода текста после того как напишет данные идут в оброботчик из оброботчика поступает текст в отдельный *.html файл. И на главной странице коментарии берутся с *.html файла с командой PHP: <?php include "*.html" ?> но это неудобно очень (
Я брал уже мини чат, и поставил его и всё было отлично но он и весит и не мало если сделать к примеру 50 тем и на всех поставить коменты то весить будет примерно 20mb а это для бесплатного хоста слишком много! а сейчас с таким способом весит 2 mb. Ну делают же как то коменты но точно уж не с таким способом как я сделал, у меня всё замудрёно как то. И если кто небудь напишет комент к примеру HTML: <hr width="1000" color="red"> то вся страница расширяется а если значение поставить 5000 то это ваще ужас
вот тебе дружек от меня . test1.php Code: </form> <? echo "<p class='post_comment'>Комментарии к этой заметке:</p>"; $result3 = mysql_query ("SELECT * FROM твоя таблица WHERE post='$id'",$db); if (mysql_num_rows($result3) > 0) { $myrow3 = mysql_fetch_array($result3); do { printf ("<div class='post_div'><p class='post_comment_add'>Комментарий добавил(а): <strong>%s</strong> <br> Дата: <strong>%s</strong></p> <p>%s</p></div>",$myrow3["author"], $myrow3["date"], $myrow3["text"]); } while ($myrow3 = mysql_fetch_array($result3)); } $result4 = mysql_query ("SELECT img FROM comments_setting",$db); $myrow4 = mysql_fetch_array($result4); ?> <p class='post_comment'>Добавить Ваш комментарий:</p> <form action="comment.php" method="post" name="form_com"> <p><label>Ваше имя: </label><input name="author" type="text" size="30" maxlength="30"></p> <p><label>Текст комментария: <br> <textarea name="text" cols="32" rows="4"></textarea></label></p><p>Введите сумму чисел с картинки<br><img style='margin-top:17px;' src="<? echo $myrow4["img"]; ?>" width="80" height="40"> <input style='margin-bottom:16px;' name="pr" type="text" size="5" maxlength="5"></p> <input name="id" type="hidden" value="<? echo $id; ?>"> <p><input name="sub_com" type="submit" value="Комментировать"></p> </form> test2.php отредактировано Code: <?php подключение к бд if (isset($_POST['author'])) { $author = $_POST['author']; } if (isset($_POST['text'])) { $text = $_POST['text']; } if (isset($_POST['pr'])) { $pr = $_POST['pr']; } if (isset($_POST['sub_com'])) { $sub_com = $_POST['sub_com']; } if (isset($_POST['id'])) { $id = $_POST['id']; } if (isset($sub_com)) { if (isset($author)) {trim($author); } else {$author = "";} if (isset($text)) {trim($text); } else {$text = "";} if (empty($author) or empty($text)) { exit ("<p>Вы ввели не всю информацию, вернитесь назад и заполните все поля. <br> <input name='back' type='button' value='Вернуться назад' onclick='javascript:self.back();'>"); } $author = stripslashes($author); $text = stripslashes($text); $author = htmlspecialchars($author); $text = htmlspecialchars($text); $result = mysql_query ("SELECT sum FROM таблица",$db); $myrow = mysql_fetch_array($result); if ($pr == $myrow["sum"]) { $date = date("Y-m-d"); $result2 = mysql_query ("INSERT INTO comments (post,author,text,date) VALUES ('$id','$author','$text','$date')",$db); $address = "твояпочта@сайт.ру"; $subject = "Новый комментарий на блоге"; $result3 = mysql_query ("SELECT title FROM таблица WHERE id='$id'",$db); $myrow3 = mysql_fetch_array ($result3); $post_title = $myrow3["title"]; $message = "Появился комментарий - ".$post_title."\nКомментарий добавил(а): ".$author."\nТекст комментария: ".$text."\nСсылка на заметку: http://твой-сайт=".$id.""; mail($address,$subject,$message,"Content-type:text/plain; Charset=windows-1251\r\n"); echo "<html><head> <meta http-equiv='Refresh' content='0; URL=сылка.php?id=$id'> </head></html>"; exit(); } else { exit ("<p>Вы ввели неверную сумму цифр с картинки на предыдущей странице. <br> <input name='back' type='button' value='Вернуться назад' onclick='javascript:self.back();'>"); } } ?> ну а в mysql надеюсь догадаешься какие таблицы создавать
зачем 2 одинаковых кода? и оба выводят значения из БД но не вставляют его туда. дописал вставку коментов в БД могут быть эроры поскольку писл а скорую руку. PHP: <?php if($_POST['sub_com'] ){ if($_POST['author']{ if($_POST['text']{ $avtor=trim($_POST['author']); $text= trim($_POST['text']); $id=mysql_insert_id(); mysql_query("INSERT INTO `таблица` SET `author`='".$avtor."',`text`='".$text."',`date`='".date()."'") or die(mysql_error()); echo'<script>alert(/тормоз! все ок :)/)</script>'; echo '<meta http-equiv="refresh" content="0;url="'.$_SERVER['PHP SELF'].'">'; }else{ echo'<script>alert(/тормоз! комент забыл запостить!/)</script>'; } }else{ echo'<script>alert(/тормоз! где логин ?!/)</script>'; } }else{ echo'<br>постим коменты'; } echo "<p class='post_comment'>Комментарии к этой заметке:</p>"; $result3 = mysql_query ("SELECT * FROM твоя таблица WHERE post='$id'",$db); if (mysql_num_rows($result3) > 0) { $myrow3 = mysql_fetch_array($result3); do { printf ("<div class='post_div'><p class='post_comment_add'>Комментарий добавил(а): <strong>%s</strong> <br> Дата: <strong>%s</strong></p> <p>%s</p></div>",htmlspecialchars($myrow3["author"]), $myrow3["date"], htmlspecialchars($myrow3["text"])); } while ($myrow3 = mysql_fetch_array($result3)); } $result4 = mysql_query ("SELECT img FROM comments_setting",$db); $myrow4 = mysql_fetch_array($result4); ?> <p class='post_comment'>Добавить Ваш комментарий:</p> <form action="comment.php" method="post" name="form_com"> <p><label>Ваше имя: </label><input name="author" type="text" size="30" maxlength="30"></p> <p><label>Текст комментария: <br> <textarea name="text" cols="32" rows="4"></textarea></label></p> <input style='margin-bottom:16px;' name="pr" type="text" size="5" maxlength="5"></p> <input name="id" type="hidden" value="<? echo $id; ?>"> <p><input name="sub_com" type="submit" value="Комментировать"></p> </form>