Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Функция include к ссылкам
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


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

> Описание: Помогите
CiJey
Отправлено: 09 Мая, 2009 - 18:47:05
Post Id


Newbie


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2009  

Карма 0




Народ, помогите кто может!
У меня такая беда.. Я хочу изменить отоброжение адреса сайта, то-есть: чтобы место обычного www.page.com/news.html была бы такая ссылка www.page.com/home.php?page=news

Я создаю home.php с дизайном сайта и вставляю такой код:

CODE:
<?
if (file_exists("$page.html")) //Проверяем, существует ли файл
{ include("$page.html"); } //Если существует, то выполняем комманду include, которая "присоединяет" документ к главной странице
else //Если файл не существует, то
{ echo "Ошибка 404! Файл не найден!"; } //Выводим сообщение об ошибке
?>


Я прав?
Если да, то почему не работает? Хотябы ошыбку выбевал.. а так жмеш на ссылку, он ее меняет, а оформление остоется прежним..

на первом сайте у меня получилось, тока я его стер с виндой.. а тут не хочет. Может я чтото упустил, или не так сделал? Помогите пжлсто!!
 
 Top
funnyman
Отправлено: 09 Мая, 2009 - 23:23:53
Post Id



Junior Member


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

Карма 0




По-моему вот так нада:

CODE:
include("page.html");


без знака "$"
 
 Top
Furax
Отправлено: 10 Мая, 2009 - 00:05:35
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Знак бакса нужен, однако это будет работать не всегда: если отключена опция register_globals, работать не будет. Чтобы работало всегда - надо писать $_GET[page] вместо $page.

Другое дело - что так писать НЕЛЬЗЯ, потому что это огромная дыра в безопасности. Функция include не только подключает файл, но и запускает его выполнение интерпретатором PHP. Соответственно, пользователь может, скажем, прицепить файл с вредоносным скриптом к сообщению на форуме, а затем перейти по адресу типа home.php?page=forum/uploads/file - и содержимое file.html будет выполнено на сервере. Можно также запустить на выполнение файл из Сети (перейдя по адресу home.php?page=http://hack.com/file), но это не позволит провернуть "в лоб" функция file_exists(), которая вернёт false для URLа.

Лекарство? Например, элементарная проверка переменной $_GET['page']:
CODE:
<?
if (!isSet($_GET['page'])) //Не задано ?page=...
{
die('Не указана страница');
}
if (!preg_match('/^[a-z0-9\-]+$/', $_GET['page'])) //Есть что-то кроме цифр, букв и знака "-"
{
die('Неверно указана страница');
}

if (file_exists("$_GET[page].html")) //Проверяем, существует ли файл
{ include("$_GET[page].html"); } //Если существует, то выполняем комманду include, которая "присоединяет" документ к главной странице
else //Если файл не существует, то
{ echo "Ошибка 404! Файл не найден!"; } //Выводим сообщение об ошибке
?>
Обрати внимание на кавычки внутри квадратных скобок: у меня нет ошибки, они ставятся, если вокруг нет других кавычек (двойных).
 
 Top
CiJey
Отправлено: 10 Мая, 2009 - 04:16:41
Post Id


Newbie


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2009  

Карма 0




Я вставил код каторый вы мне посоветовали, но у меня таже беда.. Допустим у меня открыто страница news (home.php?page=news), я хочу перети напремер в контакты. Жму на ссылку он ее меняет на (home.php?page=contact), НО! Страница остается новостей.. То-есть адрес меняется а страница нет..
 
 Top
Furax
Отправлено: 10 Мая, 2009 - 04:44:43
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




CiJey
Пожалуйста, приведи полный код страниц home.php, news.html и contact.html. И сразу: какой хостинг?
 
 Top
CiJey
Отправлено: 10 Мая, 2009 - 04:56:59
Post Id


Newbie


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2009  

Карма 0




Я его пока на хост не закинул, потаму что я его до конца не доделал.. но в прошлый раз, у мну все работала..

а выгледит это примерно так:

Я в home.php вставляю выше указаный код. Патом делаю ссылки в меню таким оброзом
CODE:
<a href='home.php?page=rus/news'>
<a href='home.php?page=rus/contact'>
<a href='home.php?page=rus/download'>


То-есть home.php у меня находется в корневой папке там же, где и все рисунки для дизайне.. но так как страница на нескольких языках надо их разделить, чтоб самаму не путатся..

Осталние: новости, контакты, загрузки лижат в папке rus/ а когда на них жмеш, то палучается то что я говорил..
 
 Top
CiJey
Отправлено: 10 Мая, 2009 - 05:50:11
Post Id


Newbie


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2009  

Карма 0




Вот ссылка на сайт.. такая вот фигня ща получается: Неверно указана страница

http://87.99.66.222/
 
 Top
Furax
Отправлено: 10 Мая, 2009 - 05:52:13
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Код страниц, пожалуйста.
 
 Top
CiJey
Отправлено: 10 Мая, 2009 - 05:58:07
Post Id


Newbie


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2009  

Карма 0




CODE:
<meta http-equiv="content-type" content="text/html; charset=windows-1251">


Сори если я чтото не так делаю, задаю глупие вапросы, или не до понимаю..
Я в этом деле начинающий.

http://87.99.66.222/home2.php
Тут без инклуд функции, если что..

(Отредактировано автором: 10 Мая, 2009 - 06:13:47)

 
 Top
CiJey
Отправлено: 10 Мая, 2009 - 07:26:24
Post Id


Newbie


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2009  

Карма 0




Все разобрался! Огромное спосибо за помощ.. Можно закрывать тему.
Еше раз спосибо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« HTML »


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



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0451]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33