<MyRusakov.ru />

WordPress 4. Пример создания блога

WordPress 4. Пример создания блога

Видеокурс "WordPress 4. Пример создания блога" научит Вас создавать любые сайты на самой популярной CMS - WordPress.

В курсе Вы узнаете абсолютно всё, что необходимо для успешного создания любых сайтов на WordPress, а также увидите пример создания реального блога.

После создания блога он размещается в Интернете, опять же на Ваших глазах. Таким образом, приобретя данный курс, Вы, не обладая никакими знаниями по созданию сайтов, уже сможете их делать, а также выкладывать в Интернет.

Курс очень простой и проходится за один вечер, а знания останутся с Вами навсегда.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Комментирование
02.07.2013 14:55:53 Комментирование Сообщение #1
Eks1g1

Eks1g1

Новичок

Новичок

Дата регистрации:
21.06.2013 22:09:54

Сообщений: 9

Добрый день Михал. Скажите пожалуйста как возможно реализовать ответ на комментарий ? я настроил систему комментирования через php и mysql.
Профиль Ответить
02.07.2013 15:17:57 Комментирование Сообщение #2
ilyadenisovid

ilyadenisovid

Мастер

Мастер

Дата регистрации:
28.01.2013 18:32:29

Сообщений: 213

Добавить в таблицу еще одно поле, которое будет отвечать за id комментария на который ответили, по умолчанию 0 - то есть обычный комментарий. Например, комментарий с id = 5, под ним выводим все комментарии со значением поля = 5.
Профиль Ответить
02.07.2013 16:14:41 Комментирование Сообщение #3
Eks1g1

Eks1g1

Новичок

Новичок

Дата регистрации:
21.06.2013 22:09:54

Сообщений: 9

Честно говоря. не могу понять что нужно сделать вот есть такой код:
index.php

<?php

session_start();

if (isset($_SESSION['name'])) $name = $_SESSION['name'];

$post_id = 333;

$mysqli = new mysqli("localhost", "root", "", "mybase";

$mysqli->query("SET NAMES 'UTF-8'";

$result_set = $mysqli->query("SELECT * FROM `lesson` WHERE `post_id` = '$post_id'";

while ($row = $result_set->fetch_assoc()) {

?>

<div id = "comment">

<div id = "name">Автор: <?=$row['name']?></div>

<div id = "text">Комментарий: <?=$row['text']?></div>

<div id = "date">Дата: <?=date("Y-m-d H:i:s", $row['date'])?></div>

</div>

<hr />

<?php

}

if (isset($_SESSION['yes']) && $_SESSION['yes'] == 1)

echo '<h3 style = "color: green;">Ваш комментарий успешно добавлен!</h3>';

elseif (isset($_SESSION['no']) && $_SESSION['no'] == 1)

echo '<h3 style = "color: red;">Ошибка!!! Ваш комментарий не добавлен!</h3>';

?>
<form action = "comments.php" method = "post">

<p>

<label>

Имя:<br />

<input type = "text" name = "name" value = "<?=$name?>" />

</label>

</p>

<p>

<label>

Комментарий:<br />

<textarea name = "text" style = "width: 75%;"></textarea>

</label>

</p>

<p>

<input type = "hidden" name = "post_id" value = "333" />

<input type = "submit" value = "Добавить комментарий" />

</p>

</form>

и вот такой:
comments.php

<?php

session_start();

$post_id = intval($_POST["post_id"]);

$name = $_POST["name"];

$text = $_POST["text"];

$name = htmlspecialchars($name);

$text = htmlspecialchars($text);

$mysqli = new mysqli("localhost", "root", "", "mybase";

$mysqli->query("SET NAMES 'UTF-8'";

$add = $mysqli->query("INSERT INTO `lesson` (`name`, `post_id`, `text`, `date`) VALUES ('$name', '$post_id', '$text', UNIX_TIMESTAMP())";

if ($add) {

$_SESSION['yes'] = 1;

$_SESSION['name'] = $name;

}

else $_SESSION['no'] = 1;

header("Location: ".$_SERVER["HTTP_REFERER"]);

?>
Профиль Ответить
02.07.2013 17:51:42 Комментирование Сообщение #4
ilyadenisovid

ilyadenisovid

Мастер

Мастер

Дата регистрации:
28.01.2013 18:32:29

Сообщений: 213

Нужно создать еще одно поле, например, to, и также добавлять его в таблицу, если это обычный комментарий, то он равен = 0, если же это ответ, то он равен id комментария на который отвечают. Вот пример, как у Вас.

<form>
......
<input type = "hidden" name = "to" value = "id комментария, на который дают ответ" />
......
</form>
if(!$to) $to = 0;
else $to = $_POST["to"];
$add = $mysqli->query("INSERT INTO `lesson` (`name`, `post_id`, `text`, `date`, `to`) VALUES ('$name', '$post_id', '$text', UNIX_TIMESTAMP(), '$to')";


А выводим так

$comments = все комментарии;
for($i = 0;$i < count($comments);$i++) {
код основного комментария
$id = $comments[$i]["id"];
$answers = answers(id страницы, id коммента);
for($j = 0; $j < count($answers);$j++) {
код ответа;
}
}


и функция вывода ответов

function answers($post, $id) {
подключение к базе;
$result = $mysqli->query("SELECT * FROM `comments` WHERE `post` = '$post' AND `to` = '$id'";
закрытие соединения;
return resultToArray($result);
}

Что-то типа такого, но это только пример, подставьте свои значения и так далее.
Профиль Ответить
02.07.2013 23:10:58 Комментирование Сообщение #5
Eks1g1

Eks1g1

Новичок

Новичок

Дата регистрации:
21.06.2013 22:09:54

Сообщений: 9

Спасибо вам большое
Профиль Ответить
15.04.2015 15:14:07 Комментирование Сообщение #6
shamil

shamil

Продвинутый

Продвинутый

Дата регистрации:
17.03.2013 00:07:27

Сообщений: 51

код комментария вывел,но каким должен быть код ответа,.Если оставлять одинаковыми,
они повторяются?
Включил условие в первом цикле
if($to) return false;теперь все
Профиль Ответить
23.04.2015 20:37:00 Комментирование Сообщение #7
shamil

shamil

Продвинутый

Продвинутый

Дата регистрации:
17.03.2013 00:07:27

Сообщений: 51

if($to)return сработала,но так теряется валидность html,
ничего не могу придумать.
Профиль Ответить