Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [smarty] pamiętanie wartości w formularzu
Forum PHP.pl > Forum > PHP
manual_juz_czytalem
Chodzi mi o sytuację, w której trzeba użytkownikowi ponownie pokazać formularz, bo np. nie wypełnił pewnych pól (leniuch jeden, niech mu dzieci makaronem obrosną ! angrysmiley.gif ). Na razie radzę sobie tak:
formularz.php:
[php:1:4089c15ee5]<?php
$smarty->assign('imie', array(
1 => 'Józek',
2 => 'Czesiek',
3 => 'Zbyszek'));
$smarty->assign('imie_default', ($_POST['imie_id']) ? $_POST['imie_id'] : 0);
?>[/php:1:4089c15ee5]

formularz.tpl:
[php:1:4089c15ee5]<?php
<select name="imie_id">
{html_options options=$imie selected=$imie_default}
</select>
?>[/php:1:4089c15ee5]
i to działa. biggrin.gif

:?: Pytanie czy Smarty nie potrafi tego zrobić automatycznie ?
dzieciol4
wczoraj pierwszy raz zagladnalem do manuala smarty i jest tam ustep ktory odpowiada na twoje pytanie bo smarty ma wewnetrznie wbudowana obsluge get i post o ile sie nie myle to jest {$smarty.post.zmienna}
manual_juz_czytalem
Dziękuję za podpowiedź, faktycznie, możena z tego skorzystać. Wrzucam tu kod, może się komuś przyda.

formularz.php:
[php:1:7ffe0f963f]<?php
$smarty->assign('imie', array(
1 => 'Józek',
2 => 'Czesiek',
3 => 'Zbyszek'));
?>[/php:1:7ffe0f963f]

a defaultową wartość (załóżmy że chcę mieć defaultowego "Cześka") musze wpisać przy selected

formularz.tpl:
[php:1:7ffe0f963f]<?php
<select name="imie_id">
{html_options options=$imie selected=$smarty.post.imie_id|default:"2"}
</select>
?>[/php:1:7ffe0f963f]

Tak jest chyba bardziej elegancko niż to co poprzednio pisałem.

dzięki dzięciole !
enceladus
Mała uwaga: Metoda jest dobra przy selectach, checkboxach - przy input-ach textowych, albo textarea warto jeszcze sprawdzić dane przed wypisanie, usunąć tagi html itd....
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.