Показать полную графическую версию : Сайт на php
vadimiron
01-12-2003, 00:18
не кажется надо писать вот так:
fopen("../data/online.dat", "w") - именно с двумя точками, если возвращаешься в материнскую папку
У тебя же ошибка, ты написал с одной точкой
tradeukraine
01-12-2003, 15:53
Возникла проблема,
использую такой код
index.php
<?
$id=$_GET["id"];
if (!IsSet($id)){include 'main.tpl';}
if ($id==page){include 'page.tpl';}
?>
в файле .htaccess прописана ошибка 404,
те на сайте страница - ошибка работает,
так вот когда набираю index/?id=page
естествено вижу текст файла 'page.tpl'
но когда набрал index/?id=pa или еще чего,
вижу только шаблон,
так можно прописать чтобы срабатывал error404.
Помогите, пожалуйста
vadimiron
01-12-2003, 16:07
error404 будет срабатывать если нет документа index
Для error404 всё равно какие переменные и их значения ты прописываешь в адрессной строке - он смотрит только, есть ли такой файл, а уж что там, ему всё равно
И ещё, если ты прописываешь значения переменной в адрессной строке, то не обязательно писать $id=$_GET["id"];
можно просто:
if (!isset($id)){include ("main.tpl");}
if ($id==page){include ("page.tpl");}
если не то ответил-пиши, честно говоря я вопрос не сразу понял
Prisoner
01-12-2003, 16:47
Если хочешь отправить броузеру сообщение, что страницы не найдена (в каком угодно случае, скажем передан не тот параметр скрипту какой подразумевался), то это делается через header:
<?php
header("HTTP/1.0 404 Not Found");
?>
Только стоит обратить внимание, что заголовки надо отсылать ДО любого вывода броузеру клиента.
vadimiron
02-12-2003, 17:36
Prisoner
<?php header("HTTP/1.0 404 Not Found"); ?>
А разве этот код не будет всё время выводить, что НЕТ СТРАНИЦЫ, ему вроде всё равно , какое значение переменной введено через адрессную строку
или ты имеешь ввиду так:
if ($mod!="main"){header("HTTP/1.0 404 Not Found");}
??????
Prisoner
03-12-2003, 06:16
Вы правы, что-то проверили и если не так, тут же наказали пользователя :).
Прошу прощения за неявность. В общем-то своими словами
в каком угодно случае, скажем передан не тот параметр скрипту какой подразумевался
я как раз и подразумевал какую-либо проверку и... выдачу заголовка.
tradeukraine
03-12-2003, 16:38
Спасибо всем,
но у меня не как неработает,
те работает :)
но ошибка на этой странице несабатывает.
Спасибо всем
Prisoner
04-12-2003, 03:27
tradeukraine
Приведите кусочек кода который вы используйте.
tradeukraine
04-12-2003, 09:09
Prisoner
вот код
<?
require_once "class.Template.php";
$tpl = new Template("./template");
$tpl->load("index,header,footer,menu");
ob_start();
echo "<div align=\"center\">Предлагаем следующие виды металлопрката &nbsp;&nbsp; часть
<a href=\"http://www.tradeukraine.com/metal/\">1</a>
<a href=\"http://www.tradeukraine.com/metal/?page=two\">2</a>
<a href=\"http://www.tradeukraine.com/metal/?page=three\">3</a></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")."\";");
?>
Исправлено: tradeukraine, 13:01 4-12-2003
Prisoner
05-12-2003, 08:10
tradeukraine
В твоем посте с кодом, единственное, что понял, так это использование FastTemplate :). Мне непонятно как это сочетается с вопросом о выдаче ошибки в броузер. Ну да это мелочи, не обращай внимания. У меня тоже не получилось на счет header и думается мне, что надо копать в сторону сервера. Почему? А вот почему:
1) вызывается header("HTTP/1.0 404 Not Found");
2) в логах Апач видно, что страничка вернула статус 404 - то есть то, что нам необходимо. А вот самой странички с ошибкой не показывается :(.
Есть такая директива как ErrorDocument (http://httpd.apache.org/docs-2.0/mod/core.html#errordocument). Думаю, надо копать в эту степь. Но вот с другой стороны броузер получает сообщение об ошибке (скажем та самая вожделенная 404) когда мы пытаемся получить доступ к несуществующему файлу - тут все работает. В общем странно, я еще покопаюсь.
tradeukraine
05-12-2003, 12:56
Prisoner
Спасибо огромное за заботу,
а что FastTemplate - это плохо?
Prisoner
06-12-2003, 02:51
tradeukraine
нет, что ты...
tradeukraine
08-12-2003, 20:37
Prisoner
это всеже не FastTemplate, а другой я его нашел тут
http://www.webscript.ru/stories.php3?story=02/01/28/2360970
и пробовал искать - остальные или очень громозкие или бред.
tradeukraine
30-12-2003, 09:35
Народ пользуюсь случаем
поздравляю всех с Новым годом!
Счастья здоровья и конечно успехов!
новый год - это хорошо, а работа есть работа :)
есть код
ob_start();
include 'txt/1.html';}
$contents = ob_get_contents();
ob_end_clean();
те. в страницу я вставляю как $contents
так вот можно ли сделать еще такую функцию
скажем $cont, чтоб работало на одной странице
или как подругому?
те
пробовал так неработает :(
ob_start();
include 'txt/2.html';}
$cont = ob_get_cont();
ob_end_clean();
а что за функции переменными названиями ob_get_что-то-там???
tradeukraine
Зачем имя ф-ии то сменил? так и пиши $cont=ob_get_contents(); всё прекрасно будет работать.
mar
http://ru.php.net/manual/en/ref.outcontrol.php
tradeukraine
31-12-2003, 08:52
ivank
Вот спасибо:up:
а я блин тыкаю тыкаю :(
Спасибо за ссылку!
tradeukraine
04-01-2004, 15:01
Народ!
может кто подкажет:
счас юзаю class.Template
1. http://www.webscript.ru/stories.php3?story=02/01/28/2360970
и
2. http://yapter.sourceforge.net/
если в первом функций мало то в другом хоть отбавляй :)
просто понять хочу - ну возврасла загрузка страницы,
а засчет чего они загружаются быстрей?
и самое интересное что каждый разрабочик пишит что его
класс быстрей чем скажем FastTemplate в 6 раз :)
да еще кучу нашел
http://freshmeat.net/search/?q=class.Template&section=projects&x=11&y=7
все перепробовал и все это бред.
может свой написать
кто знает помогите плиз!
Исправлено: tradeukraine, 14:04 4-01-2004
Prisoner
05-01-2004, 04:39
Кстати... за 3 года использования php залез в fast template только два раза... и то долго мучился мыслью "а не усложняю ли я?". Мне например такие штуки не сильно нужны, конечно может быть я не просекаю их мощи и все такое, но... обхожусь без них. А писать свой... не советую :) потраченное время... зря потраченное время :).
Life is COOL
05-01-2004, 10:50
to X
сервер тебе говорит, что нет доступа на запись к таким-то файлам (только чтение). :(
надо права на папки проставить (можно "777").
А как енто лучше сделать - лучше обратись к админу.
... а вообще - лучше использовать для подобных целец дазу банных - и порядку больше, и использовать удобнее. :up:
человеку свойственно ошибаться, но окончательно все запутать может только компьютер
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.