Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Найдите ошибку у меня коментарий не добовляет(

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
console
Отправлено: 03 Мая, 2011 - 15:06:07
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)

[+]


add_coments.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         include "../includes/functions.php";
  3.         db_connect();
  4.  
  5.         $post_id = $_POST['post_id'];
  6.         $name = $_POST['name'];
  7.         $email = $_POST['email'];
  8.         $site = $_POST['site'];
  9.         $comment = $_POST['comment'];
  10.         $ip = remote_addr();
  11.  
  12.         mysql_query ("INSERT INTO comments VALUES (0, $post_id, '$name', '$email', '$site', '$comment', '$ip', now(), 0);") or die (mysql_error());
  13.  
  14.         $str = mysql_fetch_array (mysql_query ("SELECT * FROM posts WHERE id=$post_id;"));
  15.         header ("location: /".$str['url'].".html");
  16. ?>
  17.  


<?php

functions.php

PHP:
скопировать код в буфер обмена
  1. // Функция коннекта к БД
  2. function db_connect (){
  3.         $host = "localhost";
  4.         $user = "root";
  5.         $password = "root";
  6.         $dbname = "myblog";
  7.  
  8.         mysql_connect ($host, $user, $password) or die (mysql_error());
  9.         mysql_select_db ($dbname) or die (mysql_error());
  10. }
  11.  
  12. function remote_addr(){
  13.   static $param = array ('REMOTE_ADDR', 'X_FORWARDED_FOR', 'X_LOCAL_FORWARDED_FOR');
  14.   $ip = "";
  15.   for ($i = 0; $i < count ($param); $i++)
  16.     if ( isset ($_SERVER[$param[$i]]) && strpos ($ip, $_SERVER[$param[$i]]) === false )
  17.     {
  18.       if ( strlen ($ip . $_SERVER[$param[$i]]) > 253 ) break;
  19.       else $ip .= (( $ip == "" ) ? "" : ", " ) . $_SERVER[$param[$i]];
  20.     }
  21.   return $ip;
  22. }
  23.  
  24. function show_category(){
  25.         $q = mysql_query ("SELECT *, id AS cid, (SELECT COUNT(id) FROM posts WHERE category=cid) AS count FROM category;");
  26.         if (mysql_num_rows ($q) <= 0) echo ("Пусто.");
  27.  
  28.         while ($str = mysql_fetch_array ($q)){
  29.                 echo "<a href=\"/category/".$str['url']."/\">".$str['title']."</a> (".$str['count'].")<br>";
  30.         }
  31. }
  32.  
  33. function show_content(){
  34.         if (empty ($_GET['post']))
  35.                 show_category_post();
  36.         else
  37.                 show_post();
  38. }
  39.  
  40. function show_category_post(){
  41.         if (!empty ($_GET['category'])){
  42.                 $str = mysql_fetch_array (mysql_query ("SELECT * FROM category WHERE url='".$_GET['category']."';"));
  43.                 $where = "WHERE category=".$str['id'];
  44.         }
  45.  
  46.         $q = mysql_query ("SELECT *, DATE_FORMAT(dt, '%H:%i %d.%m.%Y') AS dt2 FROM posts $where ORDER BY dt DESC;") or die (mysql_error());
  47.         if (mysql_num_rows ($q) <= 0) echo ("Пусто.");
  48.  
  49.         while ($str = mysql_fetch_array ($q)){
  50.                 echo "<h2><a href=\"/".$str['url'].".html\">".$str['title']."</a></h2>";
  51.                 echo "<font size=2>Написано: ".$str['dt2']."</font><br><br>";
  52.                 echo nl2br($str['post']);
  53.                 echo "<hr><br>";
  54.         }
  55. }
  56.  
  57. function show_comments($id){
  58.         $q = mysql_query ("SELECT * FROM comments WHERE post_id=$id AND moderation=1;") or die(mysql_error());
  59.         if (mysql_num_rows($q) <= 0) echo "Нет комментариев.<br><br>";
  60.         while ($str = mysql_fetch_array ($q)){
  61.                 $str['site'] = str_replace ("http://", "", $str['site']);
  62.                 $str['site'] = "http://".$str['site'];
  63.                 echo "Добавил: <a href=\"".htmlspecialchars(trim($str['site']))."\">".htmlspecialchars(trim($str['id']))."</a><br>";
  64.                 echo htmlspecialchars(trim($str['comment']))."<hr>";
  65.         }
  66.  
  67.         ?>
  68.         <hr>Добавление комментария:<br>
  69.         <form action="/do/add_comment.php" method="post">
  70.                 Имя: <input type="text" name="name"><br>
  71.                 Почта: <input type="text" name="email"><br>
  72.                 Сайт: <input type="text" name="site"><br>
  73.                 Комментарий:<br> <textarea name="comment" cols="60" rows="6"></textarea><br>
  74.                 <input type="hidden" name="post_id" value="<?PHP echo $id; ?>">
  75.                 <input type="submit" value="Комментировать">
  76.         </form>
  77.         <?PHP
  78. }
  79.  
  80. function show_post(){
  81.         $post = $_GET['post'];
  82.  
  83.         $q = mysql_query ("SELECT *, DATE_FORMAT(dt, '%H:%i %d.%m.%Y') AS dt2 FROM posts WHERE url='$post';") or die (mysql_error());
  84.         if (mysql_num_rows ($q) <= 0) echo ("Пусто.");
  85.         $str = mysql_fetch_array ($q);
  86.  
  87.         echo "<h2>".$str['title']."</h2>";
  88.         echo "<font size=2>Написано: ".$str['dt2']."</font><br><br>";
  89.         echo nl2br($str['post'])."<br><hr><br>";
  90.         echo "<b>Комментарии:</b><br><br>";
  91.  
  92.         show_comments ($str['id']);
  93. }
  94. ?>
 
 Top
Mr.KreDo
Отправлено: 03 Мая, 2011 - 15:11:39
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Апр. 2011  
Откуда: Старый Оскол, Россия


Помог: 0 раз(а)




Ошибку пишет ? или вообще не чего не пишет ?
 
 Top
vlom
Отправлено: 03 Мая, 2011 - 17:12:31
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 681
Дата рег-ции: Окт. 2010  
Откуда: Екатеринбург


Помог: 4 раз(а)




напиши какую выдает ошибку это рас
в файле functions.php где <?PHP это 2
и третье в add_coments.php нахрена на 14 строке лишний дапрос к бд, ведь всеровано ни чего не делаешь с полученными данными и вывода не будет, так как сразу после этого стоит переадресация, так что советую удалить эту строку
(Добавление)
стоп немного не доглядел, вижу где используется запрос =)))))
 
 Top
console
Отправлено: 03 Мая, 2011 - 17:54:10
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)

[+]


Ошибку не пишет вот я добавил сообщение, и оно не добовляеться
 
 Top
vlom
Отправлено: 03 Мая, 2011 - 18:03:58
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 681
Дата рег-ции: Окт. 2010  
Откуда: Екатеринбург


Помог: 4 раз(а)




попробуй переписать запрос для вставки след образом
INSERT INTO ИмяТаблицы SET ИмяПоля1='зн1', ИмяПоля2= 'зн2 ', . . .
 
 Top
console
Отправлено: 03 Мая, 2011 - 18:12:37
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)

[+]


vlom, я в это не огч разбираюсь( у тебя есть ася?
 
 Top
molchun201
Отправлено: 03 Мая, 2011 - 18:31:39
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


Помог: 5 раз(а)




грязный код, очень Хм

почитайте "Чистый код" Р.Мартина и пр. подобные книги
PS пользуйтесь докой, там код хоть читабельный и пишите как там Подмигивание
а то слишком много грязи в последнее время выливается Огорчение


-----
Обрамляйте код тегами и читайте
 
 Top
console
Отправлено: 03 Мая, 2011 - 18:37:47
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)

[+]


molchun201, То что ты щас написла ты мне не чем не помог лол Нахмурился
 
 Top
molchun201
Отправлено: 03 Мая, 2011 - 19:08:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


Помог: 5 раз(а)




console пишет:
molchun201, То что ты щас написла ты мне не чем не помог лол

критику нада уметь воспринимать, иначе бан Улыбка Язычок


-----
Обрамляйте код тегами и читайте
 
 Top
Shtorm_sai
Отправлено: 06 Мая, 2011 - 07:48:03
Post Id



Частый гость


Покинул форум
Сообщений всего: 135
Дата рег-ции: Янв. 2011  
Откуда: Новосибирск, Россия


Помог: 0 раз(а)




Поля напиши какие в бд.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB