[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Страницы
blade
Привет всем знатокам, в общем у меня такой вопрос как сделать чтоб страница открывалась по адресу НАПРИМЕР: index.php?page=faq информация на этой странице отображалась из файла faq.php но при этом если попытатся открыть страницу напрямуй http://site.com/faq.php пользователя перекидывало на http://site.com/index.php?page=faq ?
Заранее всем спасибо




Спустя 5 минут, 41 секунда (12.03.2010 - 19:51) DedMorozzz написал(а):
if(isset($_GET['page']) {
создаём сессию и редиректим на ту страницу
}
А на "той" странице проверяй наличие сесси. Иначе редирект на индекс. Иль курлом стяни,а там снова таки запрет по сессии.

Спустя 3 минуты (12.03.2010 - 19:54) blade написал(а):
Цитата (DedMorozzz @ 12.03.2010 - 16:51)
if(isset($_GET['page']) {
создаём сессию и редиректим на ту страницу
}
А на "той" странице проверяй наличие сесси. Иначе редирект на индекс. Иль курлом стяни,а там снова таки запрет по сессии.

А можно поподробнее что и где писать в пхп еще пока не очень силен?! если есть пример,урок дайте кому не сложно

Спустя 1 минута, 11 секунд (12.03.2010 - 19:56) Nikitian написал(а):
Можно без сессий.
В скриптах наподобие faq.php в самом начале

if(!isset($_GET['page']))
{
header('location: /'.str_replace('.php','',basename(__FILE__)));die;
}

Спустя 2 минуты, 39 секунд (12.03.2010 - 19:58) blade написал(а):
вот так

if(!isset($_GET['page']))
{
header('location: /'.str_replace('.php','',basename(faq.php)));die;
}


?

Спустя 3 минуты, 21 секунда (12.03.2010 - 20:02) DedMorozzz написал(а):
Кроме того, можно в .htaccess сделать проверку по реферу. Только с индекса что бы попасть на ту страницу. Иначе - выкидывать. Вариантов масса - смотря что и как надобно.
Цитата
Можно без сессий.
А что мешает в УРЛ написать гет параметр =). А сессией - наверняка будет предварительно на индексе

Спустя 2 минуты, 26 секунд (12.03.2010 - 20:04) blade написал(а):
так мне может кто нибудь помочь,рассказать что,где и как написать ?! буду очень благодарен

Спустя 4 минуты, 33 секунды (12.03.2010 - 20:09) DedMorozzz написал(а):
уже всё написали! Делать за тебя никто не будет, по крайней мере безплатно. А алгоритмы - озвучили. Осталось потратить 2 минуты, что бы гугл выдал всю нужную информацию.

Спустя 2 минуты, 37 секунд (12.03.2010 - 20:11) blade написал(а):
Цитата (DedMorozzz @ 12.03.2010 - 17:09)
уже всё написали! Делать за тебя никто не будет, по крайней мере безплатно. А алгоритмы - озвучили. Осталось потратить 2 минуты, что бы гугл выдал всю нужную информацию.

1)Что искать в гугле ?!
2)А мне нужно все го лишь пример по 1 странице потом думаю пойму но все же сколько это по вашим расценкам?

Спустя 4 минуты, 33 секунды (12.03.2010 - 20:16) Adil написал(а):
делаешь на index.php

define("ACCESS", 1);


а на страницах, которые не хочешь. чтобы открывались пишешь:
defined('ACCESS') or die( 'ERROR' );


теперь faq.php можешь вызвать только из index.php

Спустя 3 минуты, 41 секунда (12.03.2010 - 20:19) Adil написал(а):
Цитата (Nikitian @ 12.03.2010 - 20:56)
Можно без сессий.
В скриптах наподобие faq.php в самом начале

if(!isset($_GET['page']))
{
header('location: /'.str_replace('.php','',basename(__FILE__)));die;
}



а если ввести faq.php?page ?

Спустя 6 минут, 32 секунды (12.03.2010 - 20:26) blade написал(а):
Цитата (Nezabivaemiy @ 12.03.2010 - 17:16)
делаешь на index.php

define("ACCESS", 1);


а на страницах, которые не хочешь. чтобы открывались пишешь:
defined('ACCESS') or die( 'ERROR' );


теперь faq.php можешь вызвать только из index.php

Спасибо большое а дальше в index.php
так проверять название страницы

if(isset($_GET['page']) {
создаём сессию и редиректим на ту страницу
}

?

Спустя 9 минут, 18 секунд (12.03.2010 - 20:35) blade написал(а):
скажите сколько будет стоить чтоб мне кто-то написал правильный рабочий пример на пару страничек?!

Спустя 3 минуты, 32 секунды (12.03.2010 - 20:39) Adil написал(а):
Ты подробнее объясни что тебе нужно.

Что за информация находится в faq.php?
Тебе надо его при помощи include вставить в страницу и чтобы нельзя было прямо его открыть?

Спустя 3 минуты, 51 секунда (12.03.2010 - 20:43) blade написал(а):
В общем
1) мне нужно сделать так чтобы все страницы открывались только через
http://site.com/index.php?page=faq и подобные
2) При этом чтоб файл из которого берется информация например для http://site.com/index.php?page=faq (файл faq.php ) открыть не смогли просто через
http://site.com/faq.php
3)если например введут http://site.com/index.php?page=hjfgksdfsld если ее нет то перекидывало на страницу 404.php
4)Каждый файл (например файл faq.php ) это отдельная страница

Спустя 21 минута, 12 секунд (12.03.2010 - 21:04) Adil написал(а):
Вот примерно так будет выглядеть index.php

<?php
define("ACCESS", 1);

switch($_GET['page']){
case "faq":
$inc_page = "faq.php";
break;
default:
$inc_page = "default.php"; //тут впишите страницу, которая будет подключаться по умолчанию
}

include($inc_page);
?>


Так faq.php

<?php 
defined('ACCESS') or header("Location:index.php");

print "Vnutrennosti stranici";
?>

Спустя 6 минут, 3 секунды (12.03.2010 - 21:10) blade написал(а):
не работает

Спустя 2 минуты, 29 секунд (12.03.2010 - 21:12) blade написал(а):
http://test1.ru/faq.php открывает файл с таким текстом
Warning: Cannot modify header information - headers already sent by (output started at F:\home\test1.ru\www\faq.php:2) in F:\home\test1.ru\www\faq.php on line 3
Тест

а http://test1.ru/index.php?page=faq открывает тот код который находится на главной после
<?php
define("ACCESS", 1);

switch($_GET['page']){
case "faq":
$inc_page = "faq.php";
break;
default:
$inc_page = "default.php"; //тут впишите страницу, которая будет подключаться по умолчанию
}

include($inc_page);
?>

Спустя 1 минута, 27 секунд (12.03.2010 - 21:14) qpayct написал(а):
можно ещё настроить .htaccess
<Files "*.php">
Order Allow,Deny
Deny from All
</Files>

<Files
"index.php">
Order Allow,Deny
Allow from All
</Files>

и дописать redirect, как не знаю, не пробовал, но наверняка так будет лучше чем посредствами PHP

Спустя 1 минута, 3 секунды (12.03.2010 - 21:15) Adil написал(а):
Цитата (blade @ 12.03.2010 - 22:12)
http://test1.ru/faq.php открывает файл с таким текстом
Warning: Cannot modify header information - headers already sent by (output started at F:\home\test1.ru\www\faq.php:2) in F:\home\test1.ru\www\faq.php on line 3
Тест


перед
 [b]defined('ACCESS') or header("Location:index.php");[/b] 

не должно быть ничего!

Также сохрани в UTF без BOM!

Цитата (blade @ 12.03.2010 - 22:12)
а http://test1.ru/index.php?page=faq открывает тот код который находится на главной после


а?

Спустя 6 минут, 11 секунд (12.03.2010 - 21:21) blade написал(а):
Вроде сделал ,теперь другой вопрос
как сделать чтоб при открытии страницы http://test1.ru/index.php высвечивалась информация типа вы попали на такой то сайт ну и тд как главная страница ?

Спустя 26 минут, 3 секунды (12.03.2010 - 21:47) Adil написал(а):
Просто написать это в index.php. Так или я вопрос не понял?

Спустя 4 минуты, 51 секунда (12.03.2010 - 21:52) blade написал(а):
1)если страницу не ввести а оставить http://test1.ru/index.php?page= высвечивается страница по умолчанию $inc_page = "default.php"; а нельзя ли сделать чтоб перекидывало на определенную страницу ?!
2)при неправильном указе ссылки http://test1.ru/index.php?page=asfsafasf чтоб тоже на определеную?!
3) я так понял что подгружается весь список страниц т.е если адрес 1 будет указан неправильно то ошибка правильно?!

Спустя 2 минуты, 30 секунд (12.03.2010 - 21:54) Adil написал(а):
Смотри на код:
switch($_GET['page']){
case "faq":
$inc_page = "faq.php";
break;
default:
$inc_page = "default.php"; //тут впишите страницу, которая будет подключаться по умолчанию
}


Если у тебя page не будет равняться ни одному словию, который перечислен в case, например:
case "faq"


то будет открываться
"default.php"
И если будет ?page=edfrsfg будет открываться default.php. Так что пиши там все.

Спустя 3 минуты, 11 секунд (12.03.2010 - 21:58) blade написал(а):
а если написать case "NULL" ?

Спустя 8 минут, 58 секунд (12.03.2010 - 22:07) Adil написал(а):
зачем?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.