Diskuze: Rozložení stránky
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 13 zpráv z 13.
//= 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.
Tak jsem zjistil, že i když napíšu to echo"htmlkod";, tak jsou problémy,
když chci použít stylování v css...
Když napíši např:
<html>
<?php
echo"Ahoooj";
echo "<span class="trida">";
echo "<ul><li class="sty"><a href=stranky/cistechnika.php>cis</a></li>";
echo "<li><a href=stranky/elektronika.php>ele</a></li></ul>";
echo "</span>";
?>
</html>
Tak se s rozložením stane to co na tom druhém obrázku (v první zprávě). Neví někdo, jak to php skloubit s CSS?
v php nemůžeš jen tak psát html musíš to buď pomocí nějaké funkce
vytisknout př. echo(). nebo to napsat mimo direktivy ohraničující php
kód.
<html>
<?php
echo("Ahooj");
?>
<p>
Ahooj
</p>
</html>
nebo
<html>
<?php
echo("Ahooj");
echo "<p>";
echo "Ahooj";
echo "</p>";
?>
</html>
echo "<span class="trida">"; ->echo "<span class=""trida"">"; by mělo fungovat
Nemám možnost to teď vyzkoušet, ale zkusil bych upravit všechny uvozovky a to tak, že před ně dáš zpětný lomítko ( \ ) a ještě bych hodil uvozovky s lomítkem k odkazům:
<html>
<?php
echo"Ahoooj";
echo "<span class=\"trida\">";
echo "<ul><li class=\"sty\"><a href=\"stranky/cistechnika.php\">cis</a></li>";
echo "<li><a href=\"stranky/elektronika.php\">ele</a></li></ul>";
echo "</span>";
?>
</html>
echo '<span class="trida">'
vypisuješ textový řetězec, ten může být buďto v uvozovkách, nebo v
apostrofech. Když použiješ uvozovky, nemůžeš uvnitř řetězce uvozovky
použít, ale můžeš použít apostrofy a naopak (viz. code nahoře.).
Respektive, použít je můžeš, ale musí se escapovat.
Řešeních je víc
echo "<span class='neco'>";
echo "<span class=\"neco\">";
echo '<span class="neco">';
v podstatě nesmí dojít ke kolizi těch apostrofů / uvozovek. Vyhnout se tomu dá použití zpětných lomítek.
a to podle mě nejlepší
<span class="neco">
Jinak trochu mimo téma: když nepoužíváš žádný architektonický vzor, je lepší mít v kódu alespoň nějakou úpravu. Nahoře měj vše, co se týká logiky (+pomocí include/require si tahej data). Dole pak měj HTML s šablonovým vzhledem PHP. Může to pak vypadat nějak takto:
<?php
// Logika aplikace
$flashMessage = '';
if ($_SERVER['REQUEST_METHOD'] == 'POST')
$flashMessage = 'Odeslal jsi formulář!';
?>
<!-- Vzhled a struktura aplikace -->
<html>
<p class="message"><?=$flashMessage?></p>
<form>
//...
</form>
</html>
Zobrazeno 13 zpráv z 13.