Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][SMARTY] sessions_start
Marcel1989
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 9.05.2010

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


Siemka mam problem ze smarty ! nie wiem dlaczego nie działa i chce wiedzieć czy plik tpl dostaję informacje o rozpoczęciu sesji czy nie. Na wstępie daje link do phpinfo

phpinfo(); < - klik

tutaj podaje fragmenty kodu skryptu z którego zdecydowałem się skorzystać

  1. if (isset($_POST['login']) && isset($_POST['password'])) {
  2.  
  3. $login = $_POST['login'];
  4.  
  5. $password = $_POST['password'];
  6.  
  7. $password = md5($password);
  8.  
  9. $sql = "SELECT login, password FROM user WHERE login='".$login."' and password='".$password."'";
  10.  
  11. $result = mysql_query($sql) or die (mysql_error());
  12.  
  13. if (mysql_num_rows($result) == 1) {
  14.  
  15. $_SESSION['zalogowany'] = 1;
  16.  
  17. $smarty->assign('login_status', $_SESSION['zalogowany']);
  18.  
  19. $smarty->assign('login', $login);
  20.  
  21.  
  22.  
  23. $return = true;
  24.  
  25. } else {
  26.  
  27. $blad = 1;
  28.  
  29. $smarty->assign('blad', $blad);
  30.  
  31.  
  32. }
  33.  
  34. }


Tutaj podaje fragment pliku tpl
  1. {if $login_status eq 1}
  2.  
  3. Zostałeś zalogowany jako {$login}<br>
  4.  
  5. <a href="index.php">Wyloguj się</a>
  6.  
  7. {else}
  8.  
  9. {if $blad eq 1}
  10.  
  11. Dane nie zgadzają się!
  12.  
  13.  
  14.  
  15. {else}
  16.  
  17. <form id="logowanie" method="post" action="index.php">
  18.  
  19. <table style="padding-top: 15px; padding-left: 15px;">
  20. <tr>
  21. <td>Login:</td><td><input id="login" style="border: 0px;width: 99px; height: 18px;background-image: url('templates/images/17.jpg');" type="text" name="login" /></td><td><a href="index.php?step=register"><img border="0" src="templates/images/18.jpg"></a></td>
  22. </tr>
  23. <tr>
  24. <td>Hasło:</td><td><input id="password" style="border: 0px;width: 99px; height: 18px;background-image: url('templates/images/17.jpg');" type="password" name="password" /></td><td><a href="index.php?step=backacc"><img border="0" src="templates/images/19.jpg"></a></td>
  25. </tr>
  26. <tr>
  27.  
  28. <td colspan="2" align="right">
  29. <table style="padding-bottom: 14px;"><tr><td>
  30. <input type='hidden' name='zalogowany' value='1'>
  31. <input type="image" src="templates/images/20.jpg" />
  32. </td></tr></table>
  33. </td>
  34. <td><table style="padding-left: 21px; padding-top: 5px;"><tr><td><img src="templates/images/21.jpg"></td></tr></table></td>
  35. </tr>
  36. </table>
  37.  
  38. </form>
  39.  
  40. {/if}
  41.  
  42. {/if}
  43.  
  44. </td></tr></table>
Go to the top of the page
+Quote Post
varez
post
Post #2





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

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


a gdzie robisz?
  1. $smarty->display('twoj_plik.tpl');


po przypisaniu zmiennych:
  1. $smarty->assign('login', $login);


czy przed??
Go to the top of the page
+Quote Post
Marcel1989
post
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 9.05.2010

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


po przypisaniu do zmiennych

Logowanie normalnie działa lecz gdy zrobię refresch lub przeładuje stronę to wtedy wraca mi do formularza logowania
Go to the top of the page
+Quote Post
varez
post
Post #4





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

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


hmm, teraz robisz tak:
1. sprawdzasz czy sa posty
2. jak są to sprawdzasz czy sie zgadza, logujesz, zapisujesz do sesji, Z SESJI PRZYPISUJESZ DO SMARTOW
3. jak nie ma postów to nie robisz nic (nic nie przypisujesz do smartow)..
4. wynik -> jak widac

juz wiesz co nie tak?
troche logiki..
Go to the top of the page
+Quote Post
Marcel1989
post
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 9.05.2010

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


ale przekazuje dane do TPL bo normalnie logowanie działa tylko sesja wygasa jak by ustawiona była na 0
Go to the top of the page
+Quote Post
varez
post
Post #6





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

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


wklej wiecej kodu w takim razie, bo tutaj to ja nie widze zebys przekazywał cokolwiek jak nie ma post-ów..
Go to the top of the page
+Quote Post
Marcel1989
post
Post #7





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 9.05.2010

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


więcej nie ma potrzeby bo to w sumie wszystko dalej jest tylko wyświetlanie w tpl

  1. <?php
  2.  
  3. if (isset($_POST['login']) && isset($_POST['password'])) {
  4.  
  5. $login = $_POST['login'];
  6.  
  7. $password = $_POST['password'];
  8.  
  9. $password = md5($password);
  10.  
  11. $sql = "SELECT login, password FROM user WHERE login='".$login."' and password='".$password."'";
  12.  
  13. $result = mysql_query($sql) or die (mysql_error());
  14.  
  15. if (mysql_num_rows($result) == 1) {
  16.  
  17. $_SESSION['zalogowany'] = 1;
  18.  
  19. $smarty->assign('login_status', $_SESSION['zalogowany']);
  20.  
  21. $smarty->assign('login', $login);
  22.  
  23.  
  24.  
  25. $return = true;
  26.  
  27. } else {
  28.  
  29. $blad = 1;
  30.  
  31. $smarty->assign('blad', $blad);
  32.  
  33.  
  34. }
  35.  
  36. }
  37.  
  38.  
  39.  
  40.  
  41.  
  42. return $return;
  43.  
  44. ?>
  45.  


zobacz na początku pliku php masz wszystko przypisane a następnie potem jest przekazywane do TPL zobacz ... smile.gif
Go to the top of the page
+Quote Post
varez
post
Post #8





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

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


matkoooo noooo...
czego wy tu ludzie jak się chce wam pomóc to macie to gdzieś i dalej przy swoim??

rezygnuję z pomagania na dziś, za nerwowy chyba dziś jestem..


dopisz:

  1. $smarty->assign('login_status', $_SESSION['zalogowany']);


przed

  1. return $return;


poćwicz logikę gratis (nie obrażaj się tylko wczytaj się w kod aż zrozumiesz)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 05:28