|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Сайт на php |
|
Сайт на php
|
Пользователь Сообщения: 98 |
Профиль | Сайт | Отправить PM | Цитировать Отцы php, нужна ваша помощь!
есть файл config.php код <?php if (!isset($tp)) {$tp=$def_title;} if (isset($page)) { $df = $id."/".$page.".tpl"; $fp = fopen($df, "r" $in = fread($fp, filesize($df)); fclose($fp); $data = explode("~", $in); $tp=$data[0];} ?> и естествено index.php код <?php include ("tems/config.php" include ($site_tems); if (isset($id)) { $df = $id."/".$page.".tpl"; $fp = fopen($df, "r" $in = fread($fp, filesize($df)); fclose($fp); $data = explode("~", $in); $i=0; while ($data[$i]!="" { echo "<h5>$data[$i]</h5>"; $i++; echo "$data[$i]"; $i++; } } else { include ("main/main.tpl" } include($site_niz); ?> в этом случае ссылки выглядят так index.php?id=main&page=index main - имя папки, где лежит сам файл - index.tpl так вот нужно укаротить ссылки к примеру так index.php?main=index только неменяя структуру скрипта!!! Заранее Спасибо! |
|
------- Отправлено: 08:13, 31-10-2003 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать не кажется надо писать вот так:
fopen("../data/online.dat", "w" - именно с двумя точками, если возвращаешься в материнскую папку У тебя же ошибка, ты написал с одной точкой |
------- Отправлено: 00:18, 01-12-2003 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 98
|
Профиль | Сайт | Отправить PM | Цитировать Возникла проблема,
использую такой код index.php <? $id=$_GET["id"]; if (!IsSet($id)){include 'main.tpl';} if ($id==page){include 'page.tpl';} ?> те на сайте страница - ошибка работает, так вот когда набираю index/?id=page естествено вижу текст файла 'page.tpl' но когда набрал index/?id=pa или еще чего, вижу только шаблон, так можно прописать чтобы срабатывал error404. Помогите, пожалуйста |
------- Отправлено: 15:53, 01-12-2003 | #22 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать error404 будет срабатывать если нет документа index
Для error404 всё равно какие переменные и их значения ты прописываешь в адрессной строке - он смотрит только, есть ли такой файл, а уж что там, ему всё равно И ещё, если ты прописываешь значения переменной в адрессной строке, то не обязательно писать $id=$_GET["id"]; можно просто: if (!isset($id)){include ("main.tpl"} if ($id==page){include ("page.tpl"} если не то ответил-пиши, честно говоря я вопрос не сразу понял |
------- Отправлено: 16:07, 01-12-2003 | #23 |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать Если хочешь отправить броузеру сообщение, что страницы не найдена (в каком угодно случае, скажем передан не тот параметр скрипту какой подразумевался), то это делается через header:
Только стоит обратить внимание, что заголовки надо отсылать ДО любого вывода броузеру клиента. |
------- Отправлено: 16:47, 01-12-2003 | #24 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Prisoner
<?php header("HTTP/1.0 404 Not Found" ?> А разве этот код не будет всё время выводить, что НЕТ СТРАНИЦЫ, ему вроде всё равно , какое значение переменной введено через адрессную строку или ты имеешь ввиду так: if ($mod!="main"{header("HTTP/1.0 404 Not Found"} ?????? |
------- Отправлено: 17:36, 02-12-2003 | #25 |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать Вы правы, что-то проверили и если не так, тут же наказали пользователя .
Прошу прощения за неявность. В общем-то своими словами Цитата:
|
|
------- Отправлено: 06:16, 03-12-2003 | #26 |
Пользователь Сообщения: 98
|
Профиль | Сайт | Отправить PM | Цитировать Спасибо всем,
но у меня не как неработает, те работает но ошибка на этой странице несабатывает. Спасибо всем |
------- Отправлено: 16:38, 03-12-2003 | #27 |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать tradeukraine
Приведите кусочек кода который вы используйте. |
------- Отправлено: 03:27, 04-12-2003 | #28 |
Пользователь Сообщения: 98
|
Профиль | Сайт | Отправить PM | Цитировать Prisoner
вот код <? require_once "class.Template.php"; $tpl = new Template("./template"); $tpl->load("index,header,footer,menu"); ob_start(); echo "<div align=\"center\">Предлагаем следующие виды металлопрката часть <a href=\"http://www.tradeukraine.com/metal/\&...gt;1</a> <a href=\"http://www.tradeukraine.com/metal/?p...gt;2</a> <a href=\"http://www.tradeukraine.com/metal/?p...div>"; $page=$_GET["page"]; if (!IsSet($page)){include 'prices/metal.tpl';} if ($page==two){include 'prices/metal_1.tpl';} if ($page==three){include 'prices/metal_2.tpl';} $contents = ob_get_contents(); ob_end_clean(); eval("\$header = \"".$tpl->get("header")."\";"); eval("\$menu = \"".$tpl->get("menu")."\";"); eval("\$footer = \"".$tpl->get("footer")."\";"); eval("print \"".$tpl->get("index")."\";"); ?> |
------- Отправлено: 09:09, 04-12-2003 | #29 |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать tradeukraine
В твоем посте с кодом, единственное, что понял, так это использование FastTemplate . Мне непонятно как это сочетается с вопросом о выдаче ошибки в броузер. Ну да это мелочи, не обращай внимания. У меня тоже не получилось на счет header и думается мне, что надо копать в сторону сервера. Почему? А вот почему: 1) вызывается header("HTTP/1.0 404 Not Found" 2) в логах Апач видно, что страничка вернула статус 404 - то есть то, что нам необходимо. А вот самой странички с ошибкой не показывается . Есть такая директива как ErrorDocument. Думаю, надо копать в эту степь. Но вот с другой стороны броузер получает сообщение об ошибке (скажем та самая вожделенная 404) когда мы пытаемся получить доступ к несуществующему файлу - тут все работает. В общем странно, я еще покопаюсь. |
------- Отправлено: 08:10, 05-12-2003 | #30 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Как продвинуть сайт на PHP | Vi-P | Вебмастеру | 2 | 28-04-2007 13:41 | |
Где можно протестировать сайт написаный на PHP | beaver1984 | Вебмастеру | 4 | 23-01-2004 16:18 | |
PHP->html как конвертнуть сайт? | Chingachguk | Вебмастеру | 4 | 15-01-2004 17:43 | |
Сайт на php + MySQL | tradeukraine | Вебмастеру | 10 | 13-12-2003 15:57 | |
Сайт на php | tradeukraine | Вебмастеру | 6 | 30-07-2003 04:34 |
|