Strona 1 z 1

[PHP] Include - problem

: ndz mar 23, 2008 6:49 pm
autor: Austrolopitek
Witam dopiero raczkuję w php wiec prosze o wyrozumiałość, pytanie być może banalne, ale dla mnie czarna magia :)

Obrazek

Przypuśćmy ze klikam w pierwszy link, podstrona ładuje mi się miejscu gdzie jest kod include. W podstronie link jest tekst i jakiś inny link

Obrazek

Jak powinien wyglądac kod hiperłącza ze strony includowanej, by podstrona z link1 załadowała się w tym samym miejscu?

Mam nadzieje, ze jakoś w miare zrozumiale wytłumaczyłem o co mi chodzi xP

Kod: Zaznacz cały

<? 
	  $page = $_GET['id'];
  if($page=="") $page="news";
  if(!file_exists($page.".php"))
  {
    echo "Taka strona nie istnieje";
  }
  else
  {
    include_once $page.".php";
  }

?>

Re: [PHP] Include - problem

: ndz mar 23, 2008 8:10 pm
autor: !ans
Wogóle to ja bym zrobił tak:

Kod: Zaznacz cały

<?php
function x(y) {
	if(!file_exists($y.".php")) {
    	echo "Taka strona nie istnieje";
  	}
  	else {
  		include_once $y.".php";
  	}
}

$page = $_GET['id'];
x($page);
?>
I link do podstrony:

Kod: Zaznacz cały

http://nazwa_strony/nazwa_pliku_z_tym_kodem?id=news
I wtedy wstawi plik news.php.

Re: [PHP] Include - problem

: ndz mar 23, 2008 11:36 pm
autor: Austrolopitek
Niedokładnie mi o to chodziło.

Problem w tym ze nie wiem jak powinien wyglądać kod hiperłącza/ kod podstrony (?) DO KTÓREJ ma być wczytana kolejna podstrona. Wczytywanie wewnątrz funkcji -nie jestem pewny czy to tak się nazywa :P

Re: [PHP] Include - problem

: pn mar 24, 2008 12:23 am
autor: !ans
To jest właśnie ten adres - adres strony i ?id=news czyli deklaracja tej zmiennej GET z której wynika ,która podstrona ma być wczytana.

Re: [PHP] Include - problem

: pn mar 24, 2008 12:31 am
autor: Austrolopitek
Wybacz, ze o takie drobiazgi pytam. Ten kod który podałeś to mam podmienić w index.php w miejscu tego co mam obecnie?

Re: [PHP] Include - problem

: pn mar 24, 2008 12:36 am
autor: !ans
Znaczy tak może zostać tamten ,ale wtedy do każdej podstrony musisz dodać nową instrukcje warunkową ,a tak nie ważne czy tych plików będzie dziesięć czy milion tyle kodu wystarczy. Musisz tylko w adresie wpisać nazwę pliku i taki plik z rozszerzeniem .php musi istnieć w tym katalogu. Ale co do twojego pytania: TAK.

Re: [PHP] Include - problem

: pn mar 24, 2008 12:59 am
autor: Austrolopitek
hmm zrobiłem tak jak należy (przynajmniej tak mi sie wydaje), wgrywam na serwer pokazuje mi się błąd
Parse error: syntax error, unexpected T_STRING, expecting ')' in /var/www/sites/yoyo.pl/l/a/strona/index.php on line 17
w lini 17 znajduje się ten kawałek kodu

Kod: Zaznacz cały

function x(y) {

Re: [PHP] Include - problem

: pn mar 24, 2008 8:21 am
autor: !ans

Kod: Zaznacz cały

<?php
function x($y) {
if(!file_exists($y.".php")) {
echo "Taka strona nie istnieje";
}
else {
$file = $y.".php";
include_once $file;
}
}
$page = $_GET['id'];
x($page);
?>
Zapomniałem znaczka dolara przy deklaracji funkcji.

Re: [PHP] Include - problem

: pn mar 24, 2008 3:36 pm
autor: the_foe
!ans pisze:Wogóle to ja bym zrobił tak:

Kod: Zaznacz cały

<?php
function x(y) {
	if(!file_exists($y.".php")) {
    	echo "Taka strona nie istnieje";
  	}
  	else {
  		include_once $y.".php";
  	}
}

$page = $_GET['id'];
x($page);
?>
I link do podstrony:

Kod: Zaznacz cały

http://nazwa_strony/nazwa_pliku_z_tym_kodem?id=news
I wtedy wstawi plik news.php.
i wtedy robie co chce

Kod: Zaznacz cały

http://nazwa_strony/nazwa_pliku_z_tym_kodem?id=http://mojadomena.pl/mojkodphp
oczywiscie mozna wylaczyc "allow_url_include" i "allow_url_fopen" ale lepiej po prostu pisac kod z glowa

Re: [PHP] Include - problem

: wt mar 25, 2008 8:18 am
autor: morphi99
A czy ten skrypt jest bezpieczny ?
[php]
<?php
function x($y) {
if(!file_exists($y.".php")) {
echo "Taka strona nie istnieje";
}
else {
$file = $y.".php";
include_once $file;
}
}
$page = $_GET['id'];
x($page);
?>[/php]

Re: [PHP] Include - problem

: wt mar 25, 2008 9:56 am
autor: !ans
the foe ma rację czyli NIE

Re: [PHP] Include - problem

: wt mar 25, 2008 10:19 am
autor: the_foe
morphi99 pisze:A czy ten skrypt jest bezpieczny ?
[php]
<?php
function x($y) {
if(!file_exists($y.".php")) {
echo "Taka strona nie istnieje";
}
else {
$file = $y.".php";
include_once $file;
}
}
$page = $_GET['id'];
x($page);
?>[/php]

to jest dokladnie ten sam kod i tak samo niebezpieczny.
w ogole uzywanie includow w ten sposob na dluzsza mete jest zle.
Ale jak wstawi regulke :
[php]
$page=preg_replace("/[^A-z]/","",$_GET['id']);
[/php]

i teraz system wezmie pod uwage nazwy wylacznie zawierejace litery

Re: [PHP] Include - problem

: wt mar 25, 2008 2:06 pm
autor: ooo_michal