Autor | Zpráva | ||
---|---|---|---|
Anonym Profil * |
#1 · Zasláno: 11. 11. 2009, 14:09:18
Ahoj, jak nejlépe napsat pomocí Smarty tuto část kódu? Není mi jasné jakou část kódu napsat do .php souboru a jakou do šablony (hlavně mám zmatek u if a isset)
Děkuju moc. if ($akce == 1){ if (isset($_POST['odeslat'])) { $titulek = $_POST['titulek']; if (empty($titulek)) { echo "Polozka nebyla vyplněna!"; } else { $dotaz = "INSERT INTO `tabulka`(`titulek`) VALUES ( \"" . dbPut($titulek,$spojeni) . "\")"; $vysledek = mysqli_query($spojeni, $dotaz); if ($vysledek){ echo "Titulek byl vložena."; } else { echo "Nepodařilo se vložit titulek."; } } } else { ..... |
||
Nox Profil |
#2 · Zasláno: 11. 11. 2009, 14:41:08
většinu z toho do PHP, do smarty dej jenom to co máš v echo, přes assign předej smarty, v šabloně testni existenci/naplněnost proměnné a vypiš
|
||
Anonym Profil * |
#3 · Zasláno: 11. 11. 2009, 15:34:11
Tohle je tedy správně?
.php if ($akce == 1){ if (isset($_POST['odeslat'])) { $titulek = $_POST['titulek']; if (empty($titulek)) { $hlaska1 = true; $smarty->assign('hlaska1', $hlaska1); } else { $dotaz = "INSERT INTO `tabulka`(`titulek`) VALUES ( \"" . dbPut($titulek,$spojeni) . "\")"; $vysledek = mysqli_query($spojeni, $dotaz); if ($vysledek){ $hlaska2 = true; $smarty->assign('hlaska2', $hlaska2); } else { $hlaska3 = true; $smarty->assign('hlaska3', $hlaska3); } } } else { ..... .tpl {if $hlaska1} <p>Polozka nebyla vyplněna!</p> {/if} Atd. |
||
Nox Profil |
#4 · Zasláno: 11. 11. 2009, 20:46:23
Pokud bude možný zobrazit víc hlášek zaráz, tak samozřejmě pole a případně použít foreach ve smarty, jinak to dej do jedné a v ifu vypiš tu proměnnou, ať nemáš if pro každou hlášku zvlášť, to bude lepší, ne?
|
||
Anonym Profil * |
#5 · Zasláno: 11. 11. 2009, 21:15:04
Nox:
jinak to dej do jedné a v ifu vypiš tu proměnnou, ať nemáš if pro každou hlášku zvlášť, to bude lepší, ne? Teď ti moc nerozumím, dát všechny hlášky do jedné proměnné? Mohl bys uvést příklad? Díky |
||
Anonym Profil * |
#6 · Zasláno: 11. 11. 2009, 21:25:35
Možná už mi docvaklo... Je to už správně?
.php if ($akce == 1){ if (isset($_POST['odeslat'])) { $titulek = $_POST['titulek']; if (empty($titulek)) { $hlaska = "Polozka nebyla vyplněna!"; $smarty->assign('hlaska', $hlaska); } else { $dotaz = "INSERT INTO `tabulka`(`titulek`) VALUES ( \"" . dbPut($titulek,$spojeni) . "\")"; $vysledek = mysqli_query($spojeni, $dotaz); if ($vysledek){ $hlaska = "Titulek byl vložena."; $smarty->assign('hlaska', $hlaska); } else { $hlaska = "Nepodařilo se vložit titulek."; $smarty->assign('hlaska', $hlaska); } } } else { ..... .tpl {if $hlaska} <p>{$hlaska}</p> {/if} |
||
Anonym Profil * |
#7 · Zasláno: 11. 11. 2009, 22:44:58
Nepopírá to poslední řešení základní výhody použití Smarty? Hlášky jsou napsané v php souboru a v šabloně není pro kodéra šance změnit je.
|
||
Anonym Profil * |
#8 · Zasláno: 12. 11. 2009, 18:33:43
Prosím jaké řešení je správné?
|
||
Anonym Profil * |
#9 · Zasláno: 14. 11. 2009, 16:09:58
Prosím Vás neví někdo?
|
||
pEeLL Profil |
#10 · Zasláno: 14. 11. 2009, 18:12:34
Anonym:
si ty hlasky dej jako konstanty do nejakeho souboru. |
||
Anonym Profil * |
#11 · Zasláno: 14. 11. 2009, 18:36:11
pEeLL:
To pak bude stejne jako zde[#3] ne? Jen s tim rozdilem, ze nebudu nastavovat true, ale jen poslu sablone hlasku a vypisu stejne {if $hlaska1} <p>Polozka nebyla vyplněna!</p> {/if} Nebo jestli to nechytam, tak prosimte uved priklad. Diky |
||
pEeLL Profil |
#12 · Zasláno: 14. 11. 2009, 18:57:46
Anonym:
no v php bys mel neco takovehohle if (empty($titulek)) { $smarty->assign('hlaska', HLASKA1); } v dalsim php souboru s konstantama jen define("HLASKA1", "Polozka nebyla vyplněna!"); a v tpl {if $hlaska} <p>{$hlaska}</p> {/if} |
||
Anonym Profil * |
#13 · Zasláno: 14. 11. 2009, 21:45:15
Díky.
Ještě bych se zeptal na jednu věc. Jak napsat část kódu, kde se vyskytují i klasické nadpisy v HTML? Pokud v .php testnu prazdnost titulku, jak potom v .tpl vypsat h2, hr atd. aby se zobrazili jen pokud je titulek prazdny? Snad uz je to posledni otazka. Diky if (empty($titulek)) { ?> <h2 class = "stred">Vložení textu:</h2> <hr> <p class = "hlaska">Položka nebyla vyplněna!</p> <form method="post" action=""> <div> <div> <label for="titulek"><strong>Titulek:</strong></label><br> <input type="text" name="titulek" value= "<?php echo vypln("titulek");?>"> <input type="submit" name="odeslat" value="Vložit"> </div> </form> <?php } |
||
Anonym Profil * |
#14 · Zasláno: 16. 11. 2009, 13:16:36
Prosím můžete mi poradit? Stačí jen nástin řešení...
|
||
Anonym Profil * |
#15 · Zasláno: 16. 11. 2009, 21:42:42
Moc Vás prosím.
|
||
Anonym Profil * |
#16 · Zasláno: 17. 11. 2009, 21:25:06
Prosím Vás, jen nástin (co do php, a co do tpl)...
|
||
Časová prodleva: 14 let
|
0