użycie funkcji include

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
Prochol
Nowy
Nowy
Posty: 45
Rejestracja: czw wrz 06, 2007 2:12 pm
Kontakt:

użycie funkcji include

Post autor: Prochol »

Mam taki problem. Zrobiłem stronę w PHP gdzie jest head.php i foot.php. Czyli nagłówek i stopka. Zawartość strony jest w index.php. Ściągłem taki skrypt gdzie można głosować na ulubione nagrania. Wrzuciłem go do katalogu pro_top_lista
W instrukcji było napisane
Jeżeli posiadamy stronę wykonaną w php, możemy posłużyć się funkcją include w kodzie podstrony, na której chcemy umieścić formularz do głosowania. Zakładając, że skrypt zainstalowaliśmy w folderze "lista", kod wygląda tak:
<? include ("lista/include.php) ?>
Zwróćmy uwagę, iż includujemy plik include.php nie index.php!
Zrobiłem więc w głównym katalogu na serwerze plik i wygląda on tak:
<?php include $_SERVER['DOCUMENT_ROOT'].'/head.php'; ?>
<? include ("pro_top_lista/include.php) ?>
<?php include $_SERVER['DOCUMENT_ROOT'].'/foot.php'; ?>
Co zrobiłem źle?? Plik w PHP na serwerze nazywa się pro_top_lista.php podobnie jak katalog /pro_top_lista
Może to jest błąd? Bo wychodzi mi jakiś ERROR
Proszę o pomoc! :(
tzw
Posty: 2
Rejestracja: wt cze 03, 2008 6:47 pm

Re: użycie funkcji include

Post autor: tzw »

Prosty błąd

<?php include $_SERVER['DOCUMENT_ROOT'].'/head.php'; ?>
<? include ("pro_top_lista/include.php) ?>
<?php include $_SERVER['DOCUMENT_ROOT'].'/foot.php'; ?>

Poprawnie:

<?
$string = $_SERVER['DOCUMENT_ROOT'];

include (''.$string.'/head.php');
include ('pro_top_lista/include.php');
include (''.$string.'/foot.php');

?>

Proste błędy, pisz poprawniej
Prochol
Nowy
Nowy
Posty: 45
Rejestracja: czw wrz 06, 2007 2:12 pm
Kontakt:

Re: użycie funkcji include

Post autor: Prochol »

:-D podziałało, uczę się dopiero więc niewiele wiem. Czy mógłbyś mi wytłumaczyć, oczywiście jak Ci się chce na czym polegał błąd? Co to jest ten zwrot $string.

Chciałem dodać że plik index.php w katalogu głównym na serwerze właśnie tak zrobiłem i działa
<?php include $_SERVER['DOCUMENT_ROOT'].'/head.php'; ?>
zawartość pliku index.php
<?php include $_SERVER['DOCUMENT_ROOT'].'/foot.php'; ?>
HaWaJ
Nowy
Nowy
Posty: 159
Rejestracja: pt kwie 06, 2007 5:12 pm

Re: użycie funkcji include

Post autor: HaWaJ »

$string to nic innego jak zmienna, której nadano wartość $_SERVER['DOCUMENT_ROOT'] ( w tym przypadku jest to ścieżka katalogu głównego na serwerze), skrypt zadziałałby również w takiej postaci:

[php]<?php
include($_SERVER['DOCUMENT_ROOT'].'/plik.php');
?>[/php]
!ans
Nowy
Nowy
Posty: 131
Rejestracja: wt gru 11, 2007 9:59 pm
Lokalizacja: zza rogu

Re: użycie funkcji include

Post autor: !ans »

tzw pisze:Prosty błąd

<?php include $_SERVER['DOCUMENT_ROOT'].'/head.php'; ?>
<? include ("pro_top_lista/include.php) ?>
<?php include $_SERVER['DOCUMENT_ROOT'].'/foot.php'; ?>

Poprawnie:

<?
$string = $_SERVER['DOCUMENT_ROOT'];

include (''.$string.'/head.php');
include ('pro_top_lista/include.php');
include (''.$string.'/foot.php');

?>

Proste błędy, pisz poprawniej
Cudzysłów i kropka w funkcji include jest zbędny:
[php]<?php
include($string.'/foot.php');
?>[/php]
Prochol
Nowy
Nowy
Posty: 45
Rejestracja: czw wrz 06, 2007 2:12 pm
Kontakt:

Re: użycie funkcji include

Post autor: Prochol »

HaWaJ napisałeś że skrypt zadziała rownież w tej postaci
<?php
include($_SERVER['DOCUMENT_ROOT'].'/plik.php');
?>
Zauważ że wcześniej tak było sformuowane i nie działało, a zwrot byłby sprzeczny bo całość skryptu jest w podkatalogu pro_top_lista/

Nagłówek, stopka i plik pro_top_lista.php są w katalogu główny serwera, ale plik pro_lista_php odwołuje się do pliku include.php który jest w podkatalogu pro_top_lista/
?>[/php]
HaWaJ
Nowy
Nowy
Posty: 159
Rejestracja: pt kwie 06, 2007 5:12 pm

Re: użycie funkcji include

Post autor: HaWaJ »

wcześniej było sformułowane tak:


<?php include $_SERVER['DOCUMENT_ROOT'].'/head.php'; ?>
<? include ("pro_top_lista/include.php) ?>
<?php include $_SERVER['DOCUMENT_ROOT'].'/foot.php'; ?>

a to jest niepoprawny zapis :)
Prochol
Nowy
Nowy
Posty: 45
Rejestracja: czw wrz 06, 2007 2:12 pm
Kontakt:

Re: użycie funkcji include

Post autor: Prochol »

Ok, tak podane było w internecie nie mamy wpływu na to co ktoś wypisuje, ale dzięki. Myślę że możemy zakończyć temat :-D
ODPOWIEDZ