Вопрос следующего характера, я решил самую малость дополнить движок, код которого представлен в курсе дополнить собственным функционалом. А именно, я решил добавить возможность пользователям самим публиковать статьи. Но что то пошло не так.
Вот это код из файла modeles_class.php который собственно отвечает за вывод на странице не более 3-х статей:
protected function getBlogArticles($articles, $page)
{
$start = ($page - 1) * $this->config->count_blog;
$end = count($articles) > $start + $this->config->count_blog ? $start + $this->config->count_blog: count($articles);
for ($i = $start; $i < $end; $i++)
{
$sr["title"] = $articles[$i]["title"];
$sr["intro_text"] = $articles[$i]["intro_text"];
$sr["date"] = $this->formatDate($articles[$i]["date"]);
$sr["link_article"] ="?view=articlecontent&id=".$articles[$i]["id"];
$text .= $this->getReplaceTemplate($sr,"article_intro"
return $text;
}
}
Вот эта функция в том же файле отвечает за увеличение страниц:
protected function getPagination($count, $count_on_page, $link)
{
$count_pages = ceil($count / $count_on_page);
$sr["number"] = 1;
$sr["link"] = $link;
$sym = (strpos($link, "?" !== false)? "&": "?";
$pages = $this->getReplaceTemplate($sr, "number_page"
for ($i = 2; $i <= $count_pages; $i++)
{
$sr["number"] = $i;
$sr["link"] = $link.$sym."page=$i";
$pages .= $this->getReplaceTemplate($sr, "number_page"
}
$els["number_pages"] = $pages;
return $this->getReplaceTemplate($els, "pagination"
}
соответственно вот это копия страницы, которая отвечает за вывод главной страницы. Здесь есть отличие кода, который в курсе, а именно в функцию getTop (в курсе она пустая) подтягивается еще .tpl файл со ссылкой на страницу, где форма для написания и публикации статьи:
<?php
require_once "modules_class.php";
class FrontPage extends Modules
{
private $articles;
private $page;
public function __construct($db)
{
parent::__construct($db);
$this->articles = $this->article->getAllSortDate();
$this->page = (isset($this->data["page"]))?$this->data["page"] : 1;
}
protected function getTitle()
{
}
protected function getDescription()
{
}
protected function getKeyWords()
{
}
protected function getTop()
{
return $this->getTemplate("article_get"
}
protected function getMiddle()
{
return $this->getBlogArticles($this->articles, $this->page);
}
protected function getBottom()
{
return $this->getPagination(count($this->articles), $this->config->count_blog, $this->config->add_article);
}
}
?>
А вот что содержит этот .tpl файл:
<table>
<tr>
<td colspan="3" />
<input id="p_1" type="button" value="Написать статью" onClick='location.href="http://localhost/site/?view=addadvert&;"'/>
</td>
</tr>
</table>
А теперь вопрос, уважаемые знатоки: почему когда я прохожу по этой ссылке и не публикуя ничего, перехожу обратно на главную, и у меня автоматически там публикуется дата и в базе данных MySQL появляются пустые поля. Как будто добавили пустую статью