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.
masterlool
Nowy
Nowy
Posty: 67
Rejestracja: wt gru 26, 2006 8:18 pm

include

Post autor: masterlool »

w jakimś temacie się już wypowiadałem i bodajże kolega "HAWK" powiedział że jak sie umieści funkcję include w np. w tabelach (border=0) to możemy zmienić tym rozmiar strony ładowanej z include... no i jak ja powiedziałem że menu jest takie na wielkość jak ta tabela w pliku menu a nie jak tabela na stronie głównej to powiedzaił że gdzieś jest błąd czy mógłby mi ktoś powiedzieć gdzie tu jest błąd?? najpierw wstawie skrypt strony głównej a potem tego całego menu...

Kod: Zaznacz cały

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Nowa strona 1</title>
</head>

<body bgcolor="#FF0000">

<table border="0" width="100%" id="table1" height="207">
	<tr>
	
		<td width="119" rowspan="2" bgcolor="#FFFFFF"><?php include ("menu.htm"); ?> </td>
		
		<td>rgdfsgfd</td>
	</tr>
	<tr>
		<td>gdsfgsdfgdf</td>
	</tr>
</table>

</body>

</html>

Kod: Zaznacz cały

<html>

<head>
<meta http-equiv="Content-Language" content="pl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>ghgfgfgfdgdgfd</title>
</head>

<body>

<table border="0" width="119" id="table1" height="431">
	<tr>
		<td valign="top">ghgfgfgfdgdgfd</td>
	</tr>
</table>

</body>

</html>
Hawk
Przelotem
Przelotem
Posty: 209
Rejestracja: ndz gru 22, 2002 9:34 pm

Re: include

Post autor: Hawk »

Wychodzi brak zrozumienia sposobu działania funkcji include().

Na temat. W miejsce, w którym masz umieszczoną funkcję include() zostanie wklejona zawartość pliku menu.htm. Czyli, po odpaleniu twojego skryptu rezultat będzie mniej więcej taki:

[xml]<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Nowa strona 1</title>
</head>

<body bgcolor="#FF0000">

<table border="0" width="100%" id="table1" height="207">
<tr>

<td width="119" rowspan="2" bgcolor="#FFFFFF">
<!-- początek załadowanego pliku //-->
<html>

<head>
<meta http-equiv="Content-Language" content="pl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>ghgfgfgfdgdgfd</title>
</head>

<body>

<table border="0" width="119" id="table1" height="431">
<tr>
<td valign="top">ghgfgfgfdgdgfd</td>
</tr>
</table>

</body>

</html>
<!-- koniec załadowanego pliku //-->
</td>

<td>rgdfsgfd</td>
</tr>
<tr>
<td>gdsfgsdfgdf</td>
</tr>
</table>

</body>

</html>[/xml]

rozumiesz gdzie masz błąd?
masterlool
Nowy
Nowy
Posty: 67
Rejestracja: wt gru 26, 2006 8:18 pm

Re: include

Post autor: masterlool »

no dobra inaczej http://geyclan.w8w.pl/ na tej stronie zrobiłem test include... i powiedzmy że to białe to menu no to czy da sie zmienić długość menu nie edytując pliku menu.htm tylko stronę główną??
Hawk
Przelotem
Przelotem
Posty: 209
Rejestracja: ndz gru 22, 2002 9:34 pm

Re: include

Post autor: Hawk »

Jak najbardziej się da, wystarczy wstawić include() w odpowiednim miejscu. Przykład:

index.php
[php]<html>
<head>
<title>Przykład</title>
<style type="text/css">
div#menu {
float: left;
width: 200px;
background-color: #c8c8ff;
}
div#zawartosc {
float: left;
width: 400px;
background-color: #c8ffc8;
}
</style>
</head>
<body>
<div id="menu">
<!-- menu //-->
<?php include "menu.inc"; ?>
</div>
<div id="zawartosc">
Zawartość strony...
</div>
</body>
</html>[/php]

menu.inc
[xml]<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
</ul>[/xml]

Nie odniosłem się do zaprezentowanej przez ciebie ponieważ jej kod źródłowy jest delikatnie mówiąc mało czytelny - następnym razem wrzuć na serwer, który nie generuje tylu śmieci, bo to naprawdę ciężko odczytać.

edit:
Przyjrzałem się temu kodowi widzę, że nie zrozumiałeś mojego poprzedniego posta - w plikach ładowanych przy pomocy include() nie może być znaczników typu html, head czy body, bo te znaczniki już są!

W poprzednim poście podałem przykład jak się przyjrzysz to zobaczysz dwa razy otwarty znacznik html, zdublowaną sekcję head - takie kwiatki skutecznie uniemożliwią walidację twojej strony i spowodują, że w większości przeglądarek jej wygląd będzie daleki od twoich zamierzeń.
ODPOWIEDZ