Setlinks, страница статей для php-fision

B
На сайте с 12.08.2008
Offline
11
482

Вот, поколдовал для себя, может кому пригодится:

оформление страницы вывода списка статей для setlinks.ru

для 6 и 7 версии подходит.

файл /sl_articles/articles.php


<?php
require_once "../maincore.php";

if ($settings['version'] >= 7) {
require_once THEMES."templates/header.php";
} else {
require_once BASEDIR."../subheader.php";
require_once BASEDIR."../side_left.php";
}
require_once 'sl_articles.php';
$art = new SLArticlesClient();
$art->print_header();


if (isset($_GET['page'])) $page = $_GET['page'];

if (isset($page) && !preg_match("/^[_0-9a-z]+$/i", $page)) header("Location: ".BASEDIR.'index.php');

echo "<TABLE CELLPADDING=4 BORDER=0 ALIGN=CENTER WIDTH='100%'><TD>";
$art->print_body();
echo "</TD></TABLE>";



if ($settings['version'] >= 7) {
require_once THEMES."templates/footer.php";
} else {
require_once BASEDIR."side_right.php";
require_once BASEDIR."footer.php";
}
?>
http://php-fusion7.ru (http://php-fusion7.ru) - Отличная CMS для вашего сайта
I4
На сайте с 02.10.2008
Offline
10
#1

Боюсь у вас в строке

if (isset($page) && !preg_match("/^[_0-9a-z]+$/i", $page)) header("Location: ".BASEDIR.'index.php');

может возникнуть ситуация (при выполнении условия IF) когда

Location выдаст ошибку, т.к. вызывается после печати.

Т.е. вы пытаетесь передать заголовок браузеру уже после вывода тела документа.

Думаю так будет лучше:

<?php

require_once "../maincore.php";

if ($settings['version'] >= 7) {
require_once THEMES."templates/header.php";
} else {
require_once BASEDIR."../subheader.php";
require_once BASEDIR."../side_left.php";
}
require_once 'sl_articles.php';
$art = new SLArticlesClient();
$art->print_header();
echo "<TABLE CELLPADDING=4 BORDER=0 ALIGN=CENTER WIDTH='100%'><TD>";

if (isset($_GET['page'])) $page = $_GET['page'];
if (isset($page) && !preg_match("/^[_0-9a-z]+$/i", $page))
{
echo "Страница указана неверно";
}
else
{
$art->print_body();
}

echo "</TD></TABLE>";



if ($settings['version'] >= 7) {
require_once THEMES."templates/footer.php";
} else {
require_once BASEDIR."side_right.php";
require_once BASEDIR."footer.php";
}
?>

P.S. Мог где то сделать ошибку. Прошу сильно не бить.

Бесплатный анализ сайта! (http://saitomer.ru/)
B
На сайте с 12.08.2008
Offline
11
#2

Я думаю эту строчку можно вообще выбросить без особых проблем...)))

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий