Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [smarty] nieodnajdywanie sesji
Regyam
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.04.2007

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


Witam,
zaczynam ze smartami i mam taki problem. Oto kod ktory dzialal mi na moim systemie szablonowym.
  1. <?php
  2. if(!isset($_SESSION[login]) || $logout =="1" ){
  3. logowanie();
  4. }else{
  5. po_logowaniu();
  6. }
  7. ?>

Wiec postanowilem to wdrozyc do smarty, oto fragment mojego pliku header.tpl:
  1. <?php
  2. {php}
  3. function logowanie()
  4. {
  5. print 'login: <form action="x.php"><input type="text" name="login" class="login" /> hasło: <input type="password" name="pass" class="haslo" /><input class="loguj" type="image" src="i/logowanie_set.png" />
  6. </form>';
  7. }
  8. function po_logowaniu()
  9. {
  10. print "zalogowany jako: <b>".$_SESSION[login]."</b>, <a href=\"wyloguj.html\">wyloguj</a>";
  11. }
  12. if(isset($_SESSION[login])){
  13. po_logowaniu();
  14. }else{
  15. logowanie();
  16. }
  17. {/php}
  18. ?>

Kiedy sie zaloguje pojawia sie blok pologowaniu, ale jesli przejde na natspena strone w smartach to pojawia sie panel logowania znowu.
Jako ze mam jeszcze na serwerze stary system szablonow (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) to jezeli wpisze adres strony ze starego systemu to pokazuje mi blok po zalogowaniu. Czyli sesja istnieje tylko nie wiem czemu smarty ja jakos gubi. Moze ktos ma jakis sposób? Albo mial taki problem.

Ten post edytował Regyam 31.10.2007, 16:30:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
--Dape--
post
Post #2





Goście







  1. // nagłówek strony
  2.  
  3. $smarty = new Smarty();
  4.  
  5.  
  6. <?php
  7. if(!isset($_SESSION[login]) || $logout =="1" ){
  8. $smarty->display('logowanie.tpl');
  9. }else{
  10. $smarty->display('po_logowaniu.tpl');
  11. }
  12. ?>


lub

w 1-szym pliku :
  1. <?php
  2. if(!isset($_SESSION[login]) || $logout =="1" ){
  3.  
  4. $smarty->display('strona.tpl');
  5. }else{
  6.  $smarty->assign('zalogowany','1');
  7. $smarty->display('strona.tpl');
  8. }
  9. ?>


W strona.tpl :
  1. {if $zalogowany eq '1'}
  2. CZESC PO ZALOGOWANIU
  3. {else}
  4. LOGOWANIE
  5. {/if}


I ot cala filozofia. Generalnie uzywanie kodu php wewnatrz smarty (ogolnie wewnatrz szablonow) tak naprawde wypacza sama idee uzywania szablonow zewnetrznych. W takim wypadku nie ma sensu ich uzywac.
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 12:32