Tömb létrehozás, feltöltés Smarty-val
Sziasztok.
Programoztam korábban egy oldalt, amelyet most épp átdolgozok, hogy a spagettikódot felszámoljam és különválasszam a php-t és a hmtl-t. Ehhez kérnék most egy kis segítséget.
Ennél az oldalnál volt egy ellenőrzés a regisztráció során megadott adatokra, amely kb. így nézett ki:Ezután szépen ki tudtam jelezni, hogyha valami hiba történt.
Most, hogy átállok Smarty-ra, valahogy így néz ki a dologA problémám a következő, ha szépen végig ellenőrzöm az adatokat, mindig csak az utolsó ellenőrzés eredményét érem el.
Pl.:Ui.: Nem másoltam be a teljes forráskódot, aki segíteni tud, annak nyilván ez is elég, hogy megértse. Remélem, hogy érthetően fogalmaztam meg a problémámat.
■ Programoztam korábban egy oldalt, amelyet most épp átdolgozok, hogy a spagettikódot felszámoljam és különválasszam a php-t és a hmtl-t. Ehhez kérnék most egy kis segítséget.
Ennél az oldalnál volt egy ellenőrzés a regisztráció során megadott adatokra, amely kb. így nézett ki:
...
// Ellenőrizzük le, hogy a jelszó mező üres vagy sem
$check->construct($_POST['password']);
if (!$check->empty_check()) {$error['password'] = "A 'Jelszó' és a 'Jelszó ismét' mezők kitöltése kötelező.";}
...
Most, hogy átállok Smarty-ra, valahogy így néz ki a dolog
...
/// Ellenőrizzük le, hogy a felhasználó név üres vagy sem, és hogy létezik-e már ezen a néven regisztrált felhasználó
$check->construct($_POST['username']);
if (!$check->empty_check()) { $smarty->assign('error', array('username' => 'A regisztrációhoz válassz egy felhasználói nevet magadnak.')); }
if (!$check->isFreeUser()) { $smarty->assign('error', array('username' => 'Az általad megadott felhasználói név foglalt. Kérünk válassz másikat.')); }
...
Pl.:
<div class='lines'>
{if isset($error.name)}<div class="errors">{$error.name}</div>{/if}
<span class='labelname'><label for='name'><strong>Teljes név:</strong></label></span>
<span class='inputelements'><input type='text' name='name' id='name' value='{$name}' /></span>
</div>
<div class='lines'>
{if isset($error.email)}<div class="errors">{$error.email}</div>{/if}
<span class='labelname'><label for='email'><strong>E-mail:</strong></label></span>
<span class='inputelements'><input type='text' name='email' id='email' value='{$email}' /></span>
</div>
feltöltés Smarty-val
Gyulus
tömb deklarálása
Az a gond itt, hogy minden egyes assign-nál egy új tömböt dobsz bele a smartyba, ami felül fogja írni az előzőt, ezért létod csak az utolsót.
Gyüjtsd tömbbe a hibakódokat, és a végén, a smarty display elött egyben add át.
Krisz
Köszönöm
Amúgy meg javaslom mindenkinek a Smarty-t, engem lenyügözött. :)