Autor Zpráva
Libin88
Profil
Ahojte,
jak mám postupovat při tvorbě stránek, když je chci udělat z částí php skriptů include.

Hlavní soubor bude mít koncovku php? Třeba index.php.
A bude mít stejnou kostru jakou by mě html soubor? Jen s tím rozdílem, že třeba v
<div id="menu">
<?php
include "menu.html";
?>
</div>

A jak se to pak styluje? předpokládám, že to asi nepůjde s hlavičky souboru (index.php) když bude mít koncovku php?

Díky moc za radu nějak to nemůžu dát dohromady.
lionel messi
Profil
Libin88:
Hlavní soubor bude mít koncovku php?
Áno, musí ísť o PHP skript, ak sa má include (všeobecne akýkoľvek PHP kód) vykonať (keďže si zrejme začiatočník, nechám bokom fakt, že na serveri sa dá nastaviť spracovanie kódu napr. aj v .html).

Uvedený kód je správny (za predpokladu správne uvedenej adresy).

A jak se to pak styluje?
Čo konkrétne? V CSS môžeš normálne písať #menu {color: green;} a text divu (vrátane „nasosaného“ textu z menu.php) bude zelený.

Jednoducho popísané vkladanie pomocou include v PHP:
polopate.jakpsatweb.cz/index.php?page=include
polopate.jakpsatweb.cz/index.php?page=include2
polopate.jakpsatweb.cz/index.php?page=include3
Skládání stránek z kousků » Serverové skripty

V prípade nejasností sa pýtaj na čokoľvek.
mimochodec
Profil
Libin88:
předpokládám, že to asi nepůjde s hlavičky souboru (index.php)

Půjde. Prohlížeč vůbec netuší, co se do index.php vloží pomocí include. Je to pro něj jedna stránka.
Libin88
Profil
Jsem asi lama ale nejde mě to nastylovat.
V hlavičce index.php mám
<link rel="stylesheet" type="text/css" href="style.css">
ale nic se neděje.
Kontroloval jsem to už několikrát, index.php a style.css má ve stejné složce, už nevím kde mám chybu.
Tomáš123
Profil
Libin88:
Zápis je správny. Prenesú sa aspoň nejaké deklarácie? Nedeklaruješ náhodou všetko v štýle .contianer? Nemáš stránku v .zipe?

Skús ešte pozrieť, či sa zobrazuje riadok v prehliadači. Ak áno, skús kliknúť na názov súboru.
Libin88
Profil
Nic jako kdyby to to ani nebylo. Zazipovaný to taky nemám.
Ještě se pokusím podívat do vertigoserv. Přes něj se na stránky v php dívám .
mimochodec
Profil
Nevím co je vertigo, ale podíval bych se spíš do vygenerovaného html. Jen tam má smysl něco hledat.
Libin88
Profil
dík
Marschmallow
Profil
Libin88:
Zkus si do hlavičky souboru index.php dát ten kód, který tam máš:
<link rel="stylesheet" type="text/css" href="style.css">
Do toho souboru index.php dále vlož:
<?php include "neco.php" ?>
Do style.css vlož toto:
#pokus {color: red; background: yellow width: 200px; height: 200px;}
A nakonec vlož do souboru neco.php (ve stejné složce jako je index.php) tohle:
<div id="pokus">Tady by měl být nějaký text. A taky by se měl vypsat...</div>

Vypsal se Ti po zobrazení souboru index.php na localhostu žlutý čtvereček s červeným textem „Tady by měl být nějaký text. A taky by se měl vypsat...“?
Libin88
Profil
Text se vypsal ale je neostylovaný:(
lionel messi
Profil
Libin88:
Text se vypsal ale je neostylovaný:(
Skús ešte zmazať cache (vyrovnávaciu pamäť) v prehliadači.
mimochodec
Profil
Nebo možná dej ten vytvořený html a css na http://kod.djpw.cz/ a ukaž. Nebo samozřejmě dej odkaz někam jinam, kde to tvoříš.
Marschmallow
Profil
Libin88:
Text se vypsal ale je neostylovaný:(
A tu deklaraci stylů vkládáš do souboru index.php, kde je i řádek s include? Prostě v includovaném souboru nemají (můžou, ale to je teď nepodstatné) být styly. Ale v souboru, kam se soubor includuje ano.
Libin88
Profil
http://kod.djpw.cz/jikb

Takže index.html předělám na index.php.
V hlavičce index.php mám : <link rel="stylesheet" type="text/css" href="style.css">


vše co je v <nav></nav> smažu a nakopíruju do menu.html
<nav></nav> nahradím <?php include ("menu.html") ?>

je to dobře?
Marschmallow
Profil
Libin88:
Ano, jen z toho include odstraň závorky, není to funkce.
mimochodec
Profil
Libin88:
vše co je v <nav></nav> smažu a nakopíruju do menu.html
<nav></nav> nahradím <?php include ("menu.html") ?>

Ne.
Správně:
<nav></nav> a jeho obsah smažu a nakopíruju do menu.html
<nav></nav> nahradím <?php include ("menu.html") ?>
Marschmallow
Profil
mimochodec:
Ne.
Správně:
To je úplně totéž a stejné. Ale pokud podle tebe <nav></nav> smaže už prvním kroku, co pak nahradí tím include?

[#16] a [#17] je už mimo diskusi.
Tomáš123
Profil
Marschmallow:
Pokiaľ viem, tak fungujú obidva spôsoby.

mimochodec:
To ale nerieši problém. Ak teda nenarážaš na rozpor medzi prvým a druhým bodom, čo by aj tak problém nevyriešilo. Je jedno či zapíšeme <bo + dy> alebo <bod + y>. V konečnom dôsledku je stále rovnaký výsledok.

Libin88:
Skús vytvoriť súbor ešte raz. Uveď v ňom len hlavičku a nejaké slovo, aby si mohol testovať. Include pripojíš neskôr, keď diagnostikuješ chybu. Máš v prehliadači povolené CSS? Funguje ti inline štýl zápisu?
mimochodec
Profil
Neni to mimo diskusi. Ta prvni formulace vyzniva jako by ten tag <nav> mel zmizet.
Libin88
Profil
Testuju to ale pořád nic. Dokonce se mě po vložení include nezobrazí vložená část.Předtím se mě vypsala ale nabyla nastylovaná. Já na to přijdu, pak vám vědět co bylo špatně:D
Tomáš123
Profil
Libin88:
Je ťažké takto tipovať príčinu. Skús ale začať jednoducho a pomaly nabaľovať. Snáď uspeješ. Pri include si pravdepodobne urobil nejakú jednoduchú chybu pri zápise. Odkontroluj si to napríklad v [#9].

Už som takéto správanie videl. Keď som súbor vymazal a začal odznova, všetko mi fungovalo. Príčinu som ale nenašiel.
mimochodec
Profil
Libin88:
Mícháš dvě naprosto nesouvisející věci - php funkci a chybně přilinkované css. Include funguje naprosto triviálně - do jednoho souboru vloží druhý soubor. To je všechno. Narazit můžeš snad jen v případech, kdy by ten includovaný soubor byl v jiné složce než ten, kam se includuje. A to v případě, že bys v něm linkoval nějaké soubory. Pak ti samozřejmě nesedí cesty. Ale to už vařím z vody.

Jak linkovat externí css, to najdeš na CSS prakticky » Externí stylopis

Nechápu, co a jak tam bastlíš, že máš o tom vlákno o dvaceti příspěvcích.
Libin88
Profil
Omlouvám se že píšu až teď problém byl vyřešen, zjistil jsem že jsem měl na pc v minulosti instalovaný skype a ten mě blokoval port 80 a proto mě nic nešlo.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: