Avatar
relycanx
Člen
Avatar
relycanx:

Stala se mi podivná věc - mám prostě klasickou stránku s includovanými věcmi (hlavička,telo,pa­tička) a mezi telem a patickou jsou celkem tři divy. Všechno funguvalo v pořádku, mám už několik stránek takhle v pořádku naincludovaných. Problémy se začly objevovat, teprve až tehdy, když jsem měl podmínku, která zpočátku nebyla pravdivá a která při splnění includovala div navíc, jenže v tom je právě ten problém. Jako ten div pod podmínkou má opravdu párový tag, na nic jsem nezapomněl a přitom to i tak stránky zmate a rozhází mi u posledního divu v design stránky :( prostě odmaže jeden koncový tag a to jen kvůli tomu, že je tam ta podmínka ve které přidává nový div. nevíte prosím co s tím? je toto normální? Jinak jsem opravdu na nic nezapomněl :(

 
Odpovědět 5.5.2013 13:24
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na relycanx
David Čápka:

Bez kódu asi těžko poradíme, něco tam děláš špatně.

Nahoru Odpovědět 5.5.2013 13:27
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Michal Žůrek (misaz):

Dej F12 a zjisti kde je problém :)

Nahoru Odpovědět 5.5.2013 14:44
Nesnáším {}, proto se jim vyhýbám.
Avatar
relycanx
Člen
Avatar
relycanx:

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

 
Nahoru Odpovědět 5.5.2013 16:13
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na relycanx
Honza Bittner:

No já žádné rozhození grafiky nevidím ... mě se to vykresluje dobře a i v kódu mám </tr>

http://prntscr.com/13jak5

EDIT :: jo aha .. chyba patičky .. tak to nevíím :/

Editováno 5.5.2013 16:21
Nahoru Odpovědět 5.5.2013 16:20
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
relycanx
Člen
Avatar
Odpovídá na Honza Bittner
relycanx:

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?

Editováno 5.5.2013 16:24
 
Nahoru Odpovědět 5.5.2013 16:24
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na relycanx
Petr Nymsa:

Bude to spíše špatným stylováním

Nahoru Odpovědět  +1 5.5.2013 16:24
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
relycanx
Člen
Avatar
relycanx:

Tak IE mi tu patičku taky zobrazí rozhozenou

 
Nahoru Odpovědět 5.5.2013 16:27
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na relycanx
Honza Bittner:

No .. možná to je tím špatným stylováním, možná ne :)
Zkoušej zkoušej ... určitě to vyřešíš :)

Nahoru Odpovědět 5.5.2013 16:28
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na relycanx
David Čápka:

Kdybys nepoužíval divy, tak se v tom vyznáš. Existují tagy jako header, footer, section atd.

Nahoru Odpovědět 5.5.2013 16:28
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na relycanx
Honza Bittner:

Jo a na úvodu mi to dává špatné kódování .. předělej to :P

Nahoru Odpovědět 5.5.2013 16:28
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
relycanx
Člen
Avatar
Odpovídá na David Čápka
relycanx:

dík za tip, zkusím to používat

 
Nahoru Odpovědět 5.5.2013 16:29
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na relycanx
David Čápka:

Tipuji totiž, že něco křížíš nebo neuzavíráš.

Nahoru Odpovědět 5.5.2013 16:31
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na relycanx
Petr Nymsa:

Zmáčkni v jakémkoliv prohlížeči F12 a projed si div po divu strukturu

Nahoru Odpovědět 5.5.2013 16:49
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
koci.jan
Člen
Avatar
koci.jan:

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ě.

 
Nahoru Odpovědět  +1 5.5.2013 16:59
Avatar
Kit
Redaktor
Avatar
Odpovídá na relycanx
Kit:

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.

Nahoru Odpovědět  +1 5.5.2013 18:23
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
relycanx
Člen
Avatar
Odpovídá na koci.jan
relycanx:

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 :(

 
Nahoru Odpovědět 5.5.2013 18:32
Avatar
relycanx
Člen
Avatar
Odpovídá na Kit
relycanx:

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 :D )

 
Nahoru Odpovědět 5.5.2013 18:35
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na relycanx
Petr Nymsa:

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 :D.

Co se týče potom rozházení prvků. Většinou za to může špatné stylování (CSS)

Nahoru Odpovědět 5.5.2013 18:36
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Kit
Redaktor
Avatar
Odpovídá na relycanx
Kit:

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.

Nahoru Odpovědět 5.5.2013 18:36
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
relycanx
Člen
Avatar
Odpovídá na Petr Nymsa
relycanx:

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 :(

 
Nahoru Odpovědět 5.5.2013 18:37
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na relycanx
Petr Nymsa:

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 :D... ale dostávám se do bodu, kdy budu schopný postavit jednoduchý RS sám :)

Nahoru Odpovědět 5.5.2013 18:38
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Kit
Redaktor
Avatar
Odpovídá na relycanx
Kit:

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.

Nahoru Odpovědět 5.5.2013 18:40
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
relycanx
Člen
Avatar
Odpovídá na Kit
relycanx:

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é

 
Nahoru Odpovědět 5.5.2013 18:42
Avatar
Kit
Redaktor
Avatar
Odpovídá na Petr Nymsa
Kit:

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ší.

Nahoru Odpovědět 5.5.2013 18:43
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
relycanx
Člen
Avatar
Odpovídá na Kit
relycanx:

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 :)

 
Nahoru Odpovědět 5.5.2013 18:46
Avatar
relycanx
Člen
Avatar
Odpovídá na Petr Nymsa
relycanx:

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

 
Nahoru Odpovědět 5.5.2013 18:52
Avatar
relycanx
Člen
Avatar
relycanx:

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? :)

 
Nahoru Odpovědět 5.5.2013 19:18
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na relycanx
Petr Nymsa:

Určitě dalo ale je to blbost. Všechyn weby mají vždy hlavní "obal"

Nahoru Odpovědět 5.5.2013 19:19
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
relycanx
Člen
Avatar
Odpovídá na Petr Nymsa
relycanx:

děkuji, to jsem přesně potřeboval vědět :)

 
Nahoru Odpovědět 5.5.2013 19:36
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na relycanx
Petr Nymsa:

Není zač, já taky s weby bojuju ;) Hlavně po grafické stránce :D

Nahoru Odpovědět 5.5.2013 19:38
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
koci.jan
Člen
Avatar
Odpovídá na relycanx
koci.jan:

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 ;)

 
Nahoru Odpovědět  +1 5.5.2013 19:57
Avatar
relycanx
Člen
Avatar
Odpovídá na koci.jan
relycanx:

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

 
Nahoru Odpovědět  +1 5.5.2013 21:23
Avatar
relycanx
Člen
Avatar
Odpovídá na koci.jan
relycanx:

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

 
Nahoru Odpovědět 5.5.2013 21:46
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na relycanx
Petr Nymsa:

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á :)

Nahoru Odpovědět  +1 5.5.2013 21:48
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
koci.jan
Člen
Avatar
Odpovídá na relycanx
koci.jan:

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 ;)

 
Nahoru Odpovědět 5.5.2013 22:49
Avatar
relycanx
Člen
Avatar
Odpovídá na koci.jan
relycanx:

tak jo, projedu pořádně ten redakční systém abych byl v obraze :)

 
Nahoru Odpovědět 6.5.2013 0:32
Avatar
Kit
Redaktor
Avatar
Odpovídá na relycanx
Kit:

Obsah ostatních stránek vytáhneš z DB.

Nahoru Odpovědět 6.5.2013 8:32
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na relycanx
Kit:

A to je takový problém předat funkci hlavicka() parametry s titulkem a jménem souboru?

Nahoru Odpovědět 6.5.2013 8:51
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
relycanx
Člen
Avatar
Odpovídá na Kit
relycanx:

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 :)

 
Nahoru Odpovědět 6.5.2013 11:04
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 40 zpráv z 40.