Diskuze: chyba divu?
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 40 zpráv z 40.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Bez kódu asi těžko poradíme, něco tam děláš špatně.
Dej F12 a zjisti kde je problém
Tak dobře, takže hlavička
<!DOCTYPE html>
<html lang="cs-cz" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="css/style-index.css" />
tělo
</head>
<body>
<div id="celkovy_layout">
<div id="hlavicka">
<img src="images/logo.jpg" />
</div>
<div id="menu">
<ul id="menu_polozky">
<li><a href="index.php">O mě</a></li>
<li><a href="nasobilka.php">Násobilka</a></li>
<li><a href="kalkulator.php">Kalkulačka</a></li>
<li><a href="mazlicci.php">Databáze mazlíčků</a></li>
</ul>
</div>
<div id="obsah">
patička
</div>
<div id="paticka">
<strong>by Relycan</strong>
</div>
</div>
</body>
</html>
a teď obsah, který tyto části includuje.
<?php
include ("sablona/hlavicka.php");
?>
<link rel="stylesheet" type="text/css" href="css/style-nasobilka.css" />
<title>Násobilka</title>
<?php
include ("sablona/telo.php");
if(isset($_POST["btn_cislo"]))
{
$cislo=$_POST["txt_cislo"];
}
?>
<div id="layout_nasobilka">
<h2>Násobilka</h2>
<div id="nasobilka_form"><form method="POST" action="nasobilka.php">
Číslo <input type="text" name="txt_cislo" />
<input type="submit" name="btn_cislo" value="Zobraz" />
</form></div>
<?php
if(isset($cislo))
{
echo"<div id=\"nasobilka_vypocet\">";
echo"<table id=\"tabulka\">" ;
for($i=1;$i<=$cislo;$i++)
{
echo "<tr>";
echo"<td class=\"nasobek\">".$i."</td>";
for($j=2;$j<=10;$j++)
{
$a[$i][$j]=$i*$j;
echo"<td class=\"nasobky\">".$a[$i][$j]."</td>";
}
echo "</tr>"; //tady v tom je nějaký problém :(
}
echo"</table>";
}
echo"</div>" ;
?>
</div>
<?php
include("sablona/paticka.php");
?>
Jako opravdu by mě zajímalo, v čem je problém, protože já fakt nevím,
ty divy sedí jinak celkový
náhled je kdyžtak tu http://relyworld.wz.cz/nasobilka.php Zlobí u násobilky ta
patička, jinak všude je v pořádku
No já žádné rozhození grafiky nevidím ... mě se to vykresluje dobře a i v kódu mám </tr>
EDIT :: jo aha .. chyba patičky .. tak to nevíím :/
co se týče toho <tr> a poznámky, tak se omlouvám, já si to teď zapomněl překontrolovat a mělo to být takhle. Jde o div, který má začínat těsně nad formulářem #layout_nasobilka
echo"</table>";
}
echo"</div>" ;
?>
</div> //tady je nějaký problém :(
<?php
include("sablona/paticka.php");
?>
Jinak to zkusim ještě v IE, ale u Firefoxu mám rozhozenou patičku doleva. Tak že by to nakonec bylo prohlížečem?
No .. možná to je tím špatným stylováním, možná ne
Zkoušej zkoušej ... určitě to vyřešíš
Kdybys nepoužíval divy, tak se v tom vyznáš. Existují tagy jako header, footer, section atd.
Jo a na úvodu mi to dává špatné kódování .. předělej to
Zmáčkni v jakémkoliv prohlížeči F12 a projed si div po divu strukturu
Nebo v Mozille zobraz zdroják a hned na tebe bude svítit červenej /div za patičkou... Pokud se nemýlím, tak ten má uzavírat "celkovy_layout", ale ty ho uzavíráš už před patičkou.
Otevíráš bloky v jednom includu a zavíráš v jiným. V tom se nikdy nemůžeš vyznat, pokud chceš pak někde něco vkládat podmíněně.
To říkám pořád, že hlavička i patička mají být v jednom souboru. Jinak je v tom za chvíli chaos.
tak když jsem jeden div odmazal, tak zlobil zase další Jinak já tedy pravidla pro tvorbu
webu neznám, takže jsem ani nevěděl, že jeden div nemůžu mít
rozdělený, děkuju, zase jsem o něco moudřejší. Jinak pokud to je opravdu
tím, tak to celé překopu a udělám pořádně, jen doufám, že se tím ta
chyba vyhladí, protože jestli je to jen o počtu divů, nebo o nějakym
chybějícim, tak to nepomohlo
V jednom souboru? Myslíš tím kopírovat celou hlavičku a patičku
namísto include v každé stránce? Jinak jako v tom není problém a mě by to
ani nevadilo, mě zajímá to nejlepší řešení (jestli teda nějaké je )
Div může být rosekaný třeba na další 2 kousky. Představ si že
skládáš dům. Nejdříve položíš základy (hlavní div), základy
vycentruješ přesně doprostřed pozemku o velikosti 1000. Poté dáváš
další vrstvu a tou je patička (při tvorbě webu se postupuje obráceně).
Poté dáváš hlavní obsah domu (3 patra, co patro to článek). A nakonec
střechu (hlavička). Nemůžeš tedy začít hlavičku, do ní vložit obsah,
poté vložit patičku, uzavřít hlavičku, uzavřít patičku a obsah. Není
to moc srozumitelný, ale snad chápeš co tím myslím .
Co se týče potom rozházení prvků. Většinou za to může špatné stylování (CSS)
Možná nějakou dobu budeš počítat divy jako divý, ale za čas tě to omrzí. Nejlepší je mít každý level jako objekt a zanořovat je do sebe. Do metody __toString() pak dáš jeden pár DIVů a je to.
Tak F12 je supr věc, stejně jako zobrazení zdrojáku a rudě vyznačená
chyba, dík Jen škoda, že to
bude složitější no, že to není jen o jednom divu
Nejlepší je vybudovat nějaký redakční systém, tedy vlastně
(zjednodušeně) mít jeden / dva soubory a vše tahat z DB. Nepočítám ted
pomocné soubory (třídy). Zjednodušší se přehlednost a urychlí se práce.
Neustále kopírovat soubory, přepisovat ve starších je otrava, to už
patří do minulosti, ale já sám to tak mám ... ale dostávám se do bodu,
kdy budu schopný postavit jednoduchý RS sám
Je to jednoduché. Do toho includu dáš 2 funkce: hlavicka() a paticka(). Na začátku hlavního modulu uděláš include, zavoláš první funkci a na konci druhou funkci.
jasně, tím jak ty jednotlivé objekty budou oddělené v zápisu tečkami a
přesně za sebou napsané, že? Snad se k tomu taky v budoucnu dostanu, to by mohlo být
užitečné
Když se budeš držet pravidla, že žádný text nesmí být v PHP, ale všechny musí být v DB, tak to je to nejlepší.
to ano, ale já mám tři include z toho důvodu, protože hlavičku nemůžu
celkově uzavřít, když má obsahovat ještě title a odkaz k css souboru, ale
to už zřejmě budu muset vkládat ručně no. Menu se určitě v praxi taky
includuje. No jo, holt jsem to zkusil na začátku sám a teď znovu a líp
ehh.. mít dva soubory a všechno jinak tahat z databáze? Musim se dál
učit, asi ještě furt nerozumim Já si do databáze dokážu zatim hodit jen jednotlivé textové
položky jako jména, hesla a tak, ale do hloubky to ještě zhlédlé
nemám
Jinak jí hlavně celý web obalil do hlavního layoutu, který mi centroval
ho centroval a proto jsem měl rozdělený div v includech abych je nemusel
ručně kopírovat. Myslíte, že by se dalo nějak centrovat prvky divu, bez
obalení do nějakého nadřazeného divu?
Určitě dalo ale je to blbost. Všechyn weby mají vždy hlavní "obal"
Není zač, já taky s weby bojuju Hlavně po grafické stránce
To není pravidlo, jen doporučení. Pokud máš soubor s názvem "tělo",
logicky v něm nemá co dělat /head. A mám ještě jedno. Pokud to budeš
překopávat, zapomeň na to, že děláš web a udělej to jako "program".
Jedinej soubor (index.php), co se spouští a v něm se podle URL mění obsah
(klidně v podobě include různejch souborů) - to vyřeší spoustu věcí.
Pokud to s tvorbou myslíš vážně, tak ve volných chvílích nastudovat OOP
a MVC
jo takhleee, jen includovat obsah těch ostatních stránek že? Dík, to
bude paráda jinak základy
oop mám z javy a C#, tak poexperimentuju
aj, ono to vypadalo hezky, než jsem zjistil, že vlastně vůbec nevím, jak udělat v php objekt, který by obsahoval podmínku (pokud se klikne myší). Mám na mysli, přesněji řečeno menu. Jak nahradit odkazy
Nene, tím programem bylo myšleno hlavně tok a řízení dat, co uživateli
zobrazit. Jinak samozřejmě používáš klasicky HTML a nejlépe skoro
nemíchat PHP s HTML. Podívej se do sekce PHP a Jednoduchý redakční systém
- architektura MVC je úžasná, jednoduchá a přehledná
jak píše Zirko, nastudovat seriál btw, i když je to efektní volat si metodu pro výpis položek menu,
imho je to dobrý jen k tomu, aby se server zbytečně nenudil při
sestavování stránky. html šablona, pole a foreach odvedou stejnou práci.
PHP zdaleka není C# ani Java
tak jo, projedu pořádně ten redakční systém abych byl v obraze
A to je takový problém předat funkci hlavicka() parametry s titulkem a jménem souboru?
tak zní to logicky a neměl by to být problém, už to jen vyzkoušet a ten
MVC systém mě dost zaujal. Pryč s nepořádkem v kódu
Zobrazeno 40 zpráv z 40.