Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][Smarty]Wyświetlanie komunikatów
Lirdoner
post
Post #1





Grupa: Zarejestrowani
Postów: 500
Pomógł: 1
Dołączył: 29.09.2009

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Valdi_B
post
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 30
Dołączył: 19.02.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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  .

Go to the top of the page
+Quote Post
Lirdoner
post
Post #3





Grupa: Zarejestrowani
Postów: 500
Pomógł: 1
Dołączył: 29.09.2009

Ostrzeżenie: (0%)
-----


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ść (IMG:style_emoticons/default/wink.gif)

Ten post edytował Lirdoner 27.02.2011, 10:40:17
Go to the top of the page
+Quote Post
Valdi_B
post
Post #4





Grupa: Zarejestrowani
Postów: 107
Pomógł: 30
Dołączył: 19.02.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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)?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 11:28