include php файл

STaNiMiR

Registered
Здравей те! Искам да попитам как мога да направя така че даден php файл да ми се отвори за изпълнение само когато е повикан от друг.
Примерно имам index.php в него съм инклуднал connect.php и news.php
и като напиша в урл адреса горе http://localhost/connect.php или http://localhost/news.php да не ми се отваря, може да пише някакво съобщение или да ме препраща към файла който го съдържа..Дано да сте ме разбрали :P
 
Точно по този начин едва ли ще го направиш, но може да бъде
http://localhost/index.php?include=connect и следователно http://localhost/index.php?include=news
и по този начин ще си избираш кой файл да се инклудва.
$_GET[include] ще ти е това което се напише след =
 
Мога да ти дам скрипт, чрез който като напишеш нещо в адрес бара примерно saita.com/news.php няма да ти излезе, а ще ти излезе някакъв текст, но когато в сайта имаш линк към news.php ще ти излезе съдържанието т.е. ако има линк към страницата си се отваря, но когато я напишеш в адрес бара - не
 
STaNiMiR каза:
идеята ми е да не може да се изпълнява файла, ако се вика http://localjost/news.php.
Ами в такъв случай, можеш да набуташ фаила news.php в друга папка.
 
crazy_pi4 каза:
Мога да ти дам скрипт, чрез който като напишеш нещо в адрес бара примерно saita.com/news.php няма да ти излезе, а ще ти излезе някакъв текст, но когато в сайта имаш линк към news.php ще ти излезе съдържанието т.е. ако има линк към страницата си се отваря, но когато я напишеш в адрес бара - не

Батка точно това искам, предполагам че и като се Include файла няма да има проблеми
 
Ако съдържанието е пхп:
Код:
<?php
$ref = $_SERVER['HTTP_REFERER'];
if(!$ref)
{
echo "Нямате директен достъп до файла";
} else {
кода ( без <?php и ?> )
}
?>

Ако съдържанието е хтмл:
Код:
<?php
$ref = $_SERVER['HTTP_REFERER'];
if(!$ref)
{
echo "Нямате директен достъп до файла";
} else {
echo '
кода';

}
?>
 
ПО ДОБРИЯ НАЧИН Е ТАКА, ВЪВ ФАИЛА В КОЙТО ИНКЛУДВАШ СЛАГАШ НАЙ ГОРЕ ТОВА

define('IN_SITE', true); като IN_SITE може да го смениш с каквото пойскаш, а във файла който инклудваш правиш следното: пак най горе в него слагаш това

Код:
if ( !defined('IN_SITE') )
{
	die("Нямате право на директен достъп");
}


кода е тук..

много по-добър начин е

crazy_pi4 твоя метод е безкрайно грешен, ами ако аз си направя един фаил с линк към него? стартира си се като нищо.. :-)
По горе съм показал как се прави номера
 
Това малко не го разбрах
define('IN_SITE', true); каде се слага и това
Код:
if ( !defined('IN_SITE') )
{
	die("Нямате право на директен достъп");
}


кода е тук..
 
jooorooo каза:
ПО ДОБРИЯ НАЧИН Е ТАКА, ВЪВ ФАИЛА В КОЙТО ИНКЛУДВАШ СЛАГАШ НАЙ ГОРЕ ТОВА

define('IN_SITE', true); като IN_SITE може да го смениш с каквото пойскаш, а във файла който инклудваш правиш следното: пак най горе в него слагаш това

Код:
if ( !defined('IN_SITE') )
{
	die("Нямате право на директен достъп");
}


кода е тук..

много по-добър начин е

crazy_pi4 твоя метод е безкрайно грешен, ами ако аз си направя един фаил с линк към него? стартира си се като нищо.. :-)
По горе съм показал как се прави номера

значи define('IN_SITE', true); го слагаш в индекса примерно да стане така

index.php
Код:
<?php
define('IN_SITE', true);
include "news.php";
?>

news.php ще изглежда така

Код:
<?php
if ( !defined('IN_SITE') )
{
	die("Нямате право на директен достъп");
}
echo "ala bala 100 4adara";
?>

направи си тези файлчета ако искаш и ги стартираи, 1-во индекса а след това news.php
 

Back
Горе