Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php & smarty] skrypt logowania - problem
Forum PHP.pl > Forum > Gotowe rozwiązania
Fipaj
  1. <?php
  2.  
  3. require ('../../smarty/Smarty-2.6.9/libs/Smarty.class.php');
  4. require ('../inne/opcje.php'); // hasło
  5.  
  6. $smarty = new Smarty;
  7.  
  8. $smarty -> template_dir = '../inne';
  9. $smarty -> compile_dir = '../inne/kopie';
  10.  
  11. $smarty -> assign ('TYTUL', 'Indeks administracji');
  12. $smarty -> assign ('SLOWA_KLUCZOWE', '');
  13. $smarty -> assign ('OPIS', '');
  14. $smarty -> assign ('PREFIKS_URI', '../');
  15. $smarty -> assign ('SZABLON', 'szablony/admin_index.tpl');
  16.  
  17. if ($_GET['akcja'] == 'wyloguj') {
  18. if (isset ($_COOKIE['zalogowany'])) {
  19. unset ($_COOKIE['zalogowany']);
  20. $smarty -> assign ('NAZWA', 'wylogowany');
  21. $smarty -> assign ('LINKI', array ('../index.php' => 'Powrót do bloga'));
  22. }
  23. }
  24. else {
  25. if (isset ($_POST['zaloguj'])) {
  26. if ($_POST['haslo'] == $haslo) {
  27. setcookie ('zalogowany', 'TRue');
  28. }
  29. else {
  30. $smarty -> assign ('NAZWA', 'zle_haslo');
  31. }
  32. }
  33. if (isset ($_COOKIE['zalogowany'])) {
  34. $smarty -> assign ('NAZWA', 'zalogowany');
  35. $smarty -> assign ('LINKI', array ('../index.php' => 'Powrót do bloga', 'index.php?akcja=wyloguj' => 'Wyloguj'));
  36. }
  37. else {
  38. $smarty -> assign ('NAZWA', 'formularz');
  39. $smarty -> assign ('LINKI', array ('../index.php' => 'Powrót do bloga'));
  40. }
  41. }
  42.  
  43. $smarty -> assign ('TYTUL_STRONY', 'Indeks administracji');
  44.  
  45. $smarty -> display('szablon.tpl');
  46.  
  47. ?>


Heh smile.gif

Oto formularz podszablon który includuję w smarty pod zmienną NAZWA

  1. {if $NAZWA == "wylogowany"}
  2. <p>Zostałeś wylogowany.</p>
  3. {elseif $NAZWA == "zalogowany"}
  4. <p>Jesteś zalogowany.</p>
  5. {elseif $NAZWA == "zle_haslo"}
  6. <p>Złe hasło!</p>
  7. {else}
  8. <form method="post" action="index.php">
  9. Hasło: <input type="password" name="haslo" />
  10. <input type="submit" name="zaloguj" value="Zaloguj!" />
  11. </form>
  12. {/if}


No więc po wpisaniu hasła jeszcze raz pokazuje formularz - nic się nie dzieje smile.gif
Sprawdziłem czy ustawił cookie o nazwie zalogowany - NIE!

Za każdym razem pokazuje formularz logowania. Hmmmmm smile.gif

Dzięki za pomoc smile.gif
eS...
Jesli chodzi o $_COOKIE to moze poczytaj
http://smarty.php.net/manual/en/language.v...bles.smarty.php
peace
Fipaj
Przeczytałem - można uprościć ten skrypt stosując $smarty.cookies.nazwa, ale to nie rozwiązuje problemu - tak czy siak, ze $smarty.cookies.. czy $_COOKIE ten skrypt nie ma prawa nie działać!!!
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.