Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][Smarty]Wyświetlanie komunikatów
Forum PHP.pl > Forum > Przedszkole
Lirdoner
Witam, w jaki sposób w smarty wyświetlać komunikaty np. o błędnym logowaniu?
Chciałbym tekst umieścić w konkretnym miejscu a jedyna myśl która mi przychodzi to aby w skrypcie przy błędyn logowaniu dać
$error = 1
i potem w .tpl
{if $error == 1}
Treść błędu
{/if}

Ale tak się raczej chyba nie robi
Proszę o pomoc
Valdi_B
Zasada: Przekazuj do Smarty wprost treść komunikatu (a nie kod błędu), przy czym gdy nie ma błędu - nie musisz robić nic, a Smarty wyprowadzi w danym miejscu wartość domyślną.

Dokonasz tego stosując modyfikator default.
Szczegóły w dokumentacji Smarty:
http://www.smarty.net/docs/en/language.modifier.default.tpl

Uwaga: Aby treść strony nie "skakała" w zależności od tego czy jest błąd czy nie, jako wartość domyślną stosuj  .

Lirdoner
hmm... zrobiłem tak
w pliku .tpl
{if $progress}
{$rejestracja_info}
{/if}
a w .php
  1. if($_GET['page'] == "rejestracja") {
  2. $mode = "rejestracja";
  3. $smarty->assign("mode", "rejestracja");
  4.  
  5. if(isset($_POST['login'])) {
  6. $progress = true;
  7.  
  8. $login = $_POST['login'];
  9. $pass = $_POST['pass'];
  10. $pass2 = $_POST['pass'];
  11. $mail = $_POST['mail'];
  12. if($pass == $pass2) {
  13. $smarty->assign("rejestracja_info", "Podane hasła są poprawne");
  14. } else {
  15. $smarty->assign("rejestracja_info", "Podane hasła są złe");
  16. }
  17. }
  18. }

Problem jest w tym, że komunikat się w ogólnie nie pokazuje ;/
To moje pierwsze spotkanie ze smarty i jeszcze do końca tego nie pojmuję więc proszę o wyrozumiałość wink.gif
Valdi_B
Zmienną $progress ustawiłeś tylko w PHP, ale nie przekazałeś do Smarty.
A nie lepiej zrezygnować ze zmiennej $progress, a w Smarty zrobić:
{$rejestracja_info|default:' '}
(tak jak na stronie wg linku podanego w moim poprzednim wpisie)?
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.