|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Сайт на php |
|
|
Сайт на php
|
|
Пользователь Сообщения: 98 |
Отцы 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 | |
|