|
|
|
| Что такого нужно понаписывать на каждом РНР файле чтоб если ктонить обращался прямо на него сразу был отправлен на главную!!? | |
|
|
|
|
|
|
|
для: Sywooch
(14.04.2006 в 21:15)
| |
<?if(!defined("Что-то")) header("Location: http://www.test.ru");?>
|
а везде писать: | |
|
|
|
|
|
|
|
для: malish
(14.04.2006 в 21:20)
| | а всмысле везде писать
??
а на месте Что-то ето тект который будет вылазить или что там текст делает? | |
|
|
|
|
|
|
|
для: ZetRider
(14.04.2006 в 21:30)
| | Если ты файл include'ом вставляешь и не хочешь чтоб на него напрямую заходили...
index.php
<?
define("SUPER_MEGA_SITE",TRUE);
include("top.php");
?>
|
top.php
<?
if(!defined("SUPER_MEGA_SITE")) header("Location: http://www.test.ru");
?>
|
SUPER_MEGA_SITE - любая переменная | |
|
|
|
|
|
|
|
для: malish
(14.04.2006 в 21:36)
| | только после header не забудь сделать exit; | |
|
|
|
|
|
|
|
для: isset
(14.04.2006 в 22:26)
| | Честно говоря непонял, запутался. | |
|
|
|
|
|
|
|
для: Sywooch
(15.04.2006 в 05:30)
| | Можно ввести сессию, а на главной странице поместить в неё переменную, если переменная определена, значит посетитель побывал на главной странице - если нет, то он пришёл сразу на подчинённую страницу. В начале главной страницы index.php следует поместить такие строки
<?php
// Инициируем сессию
session_start();
// Регистрируем посетителя
$_SESSION['main'] = 1;
?>
|
На всех остальных страницах, кроме index.php в начале поместить код
<?php
if(!isset($_SESSION['main']))
{
header("Location: http://www.test.ru");
exit();
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(15.04.2006 в 13:31)
| | Спасибо. вроде понял. | |
|
|
|
|
|
|
|
для: Sywooch
(15.04.2006 в 14:53)
| | Вставил в индекс то что вы сказали!
Ругается!!!
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by
|
| |
|
|
|
|
|
|
|
для: Sywooch
(15.04.2006 в 19:28)
| | заголовки необходимо посылать до вывода данных в брузер, вставте ваш код в самое начало | |
|
|
|
|
|
|
|
для: Лёлик
(15.04.2006 в 19:41)
| | он и так в самом самом верху!
Вот мой index.php
не обращайте внимание на заморочку
с айпишником. это для того,
чтоб из локалки нелазил никто :)
<?
// Инициируем сессию
session_start();
// Регистрируем посетителя
$_SESSION['main'] = 1;
include "config.php";
$ip = $_SERVER['REMOTE_ADDR'];
$my_ip = "127.0.0.1";
if ($ip !== $my_ip)
echo 'Для IP-('.$ip.') доступ закрыт!!!';
else{}
if ($ip !== $my_ip)
return false;
else{}
LoadDesign();
Clr('');
Parse();
/*-печатаем то что получилось-*/
echo $DesignOut;
?>
|
| |
|
|
|
|
|
|
|
для: Sywooch
(15.04.2006 в 20:30)
| | 1) Посмотрите нет ли пробелов перед <?
2) Приведите полный текст ошибки | |
|
|
|
|
|
|
|
для: cheops
(15.04.2006 в 23:05)
| | Да спасибо!
Я сам допер :)
Убрал пробел и заработало...
Но че то непонял чем пробел мешает?
Ради интереса обьясните! | |
|
|
|
|
|
|
|
для: Sywooch
(16.04.2006 в 03:24)
| | Дело в том, что уникальный номер сессии SID хранится у пользователя в сессионных cookie. А cookie в свою очеред устанавливаются при помощи HTTP-заголовков, которые согласно протоколу HTTP должны быть отправлены до тела документа. PHP когда интерпретирует скрипт отправляет заголовки клиенту до первого вывода в браузер, как только встречается вывод в браузер, даже пробел, PHP считает что это начало тела документа и заголовков больше не будет. Поэтому когда он после того, как документ пошёл клиенту встречает функции, отправляющие HTTP-заголовки (setcookie(), session_start(), heade()) - он не может их уже отправить и сообщает об этом в виде вывода предупреждения в окно браузера. | |
|
|
|
|
|
|
|
для: cheops
(16.04.2006 в 13:43)
| | Спасибо.
Во оно как!!! | |
|
|
|
|
|
|
|
для: Sywooch
(16.04.2006 в 15:34)
| | Тут такое дело....
Если на все странички вписывать это:
<?php
if(!isset($_SESSION['main']))
{
header("Location: http://www.test.ru");
exit();
}
?>
|
Можно сдуреть.
Собсно вопрос.
Как можно "http://www.test.ru" держать в переменной?
Чтоб один раз ввести в конфиге а оно везде изменилось? | |
|
|
|
|
|
|
|
для: Sywooch
(17.04.2006 в 00:48)
| | Да, это вполне допустимо
<?php
$url = "http://www.test.ru";
if(!isset($_SESSION['main']))
{
header("Location: ".$url);
exit();
}
?>
|
PS Под новые вопросы, лучше заводить новые темы. | |
|
|
|
|
|
|
|
для: cheops
(17.04.2006 в 18:18)
| | а вроде продолжение того же вопроса?
ЗЫ. учту!!! | |
|
|
|