![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 29.04.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam
W "normalnym" programowaniu mam takie zabezpieczenie : zmienna sesyjna nick byla tworzona podczas logowania , jesli znaleziono uzytkownika o podanych parametrach to tworzono ta zmienna i przechodzilo sie do podanego pliku. jak takie sprawdzanie i tworzenie sesji przy logowaniu stworzyc w SF2? Pozdrawiam Probowalem tak :
wczesniej dodalem
w pliku widoku chcialem wyswietlic sesje wiec zrobilem
plik twig:
jednak dostaje komunikat:Failed to start the session: already started by PHP. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Z tym, że musisz mieć Request $request jako parametr akcji. Więcej tutaj: http://symfony.com/doc/current/book/controller.html Szukaj "Managing the Session" Ten post edytował kapslokk 21.05.2016, 19:56:39 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 29.04.2014 Ostrzeżenie: (0%) ![]() ![]() |
super
działa tylko mam pytanie ,zalozmy ze mam kilka metod ,w kilku roznych kontrolerach. zalozmy ze w jednej tworze sesje, a chcialbym ja sprawdzac we wszystkich wiec we wszystkich metodach musze pisac na starcie
czy moze istnieje szybsze rozwiazanie ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Edytowałem post i wrzuciłem tam $session = $request->getSession(); . Tego powinieneś używać, nie będziesz musiał startować sesji
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 29.04.2014 Ostrzeżenie: (0%) ![]() ![]() |
oki ,dzieki za pomoc (IMG:style_emoticons/default/smile.gif)
tylko powiedz mi czy jesli w kontrolerze mam przykladowo 10 metod to w kazdej musze to wklejac: $session = $request->getSession(); ? nie ma opcji aby to jakos odwolywalo sie do wszystkich metod ? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie jestem pewien czy to zadziała, ale możesz spróbować w konstruktorze kontrolera zrobić
$this->session = $request->getSession(); i później w metodach używać $this->session. Ale tak jak mówie - nie jestem pewien, nigdy nie testowałem. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 29.04.2014 Ostrzeżenie: (0%) ![]() ![]() |
oki, sprawdze potem
mam jeszcze pytanie odnosnie tego jak sprawdzic w pliku twig czy dana sesja istnieje ? normalnie robie to tak if( isset( $_SESSION['name'] ) ) probowalem tak: {% if app.session.get('name') is defined %} test {% endif %} jednak to nie dziala, wyswietla test nawet gdy sesji nie ma Ten post edytował dawid22441 21.05.2016, 20:22:21 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Może {% if app.session.get('name') is not null %}? Zależy co chcesz sprawdzić. Możesz też przypisać sobie w kontrolerze odpowiednią zmienną pobierając ją z sesji.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 29.04.2014 Ostrzeżenie: (0%) ![]() ![]() |
tak, juz przypisalem .
stworzylem tez konstruktor i w nim chcialem sobie ustawic zmienna _session jednak dostaje blad konstruktor wyglada tak:
a komunikat: Catchable Fatal Error: Argument 1 passed to dawid\CmsBundle\Controller\PageController::__construct() must be an instance of Symfony\Component\HttpFoundation\Request, none given, called in /home/dawid_t/ftp/symfony/symfony/app/cache/dev/classes.php on line 2220 and defined wiesz moze czy da sie to jakos naprawic ? |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No tak jak mi się zdawało - nie działa (IMG:style_emoticons/default/tongue.gif) Raczej nie naprawisz : )
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 29.04.2014 Ostrzeżenie: (0%) ![]() ![]() |
no to ze nie działa to widze (IMG:style_emoticons/default/biggrin.gif)
czyli nie ma opcji zeby to jakos usprawnic? troche lipa w kazdej metodzie wpisywac to samo (IMG:style_emoticons/default/smile.gif) http://symfony.com/doc/current/cookbook/fo...pe-as-a-service tutaj mozna jakos ustawic konstruktor |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ale to jest do serwisów a nie kontrolerów.
Ten post edytował kapslokk 21.05.2016, 21:12:05 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 29.04.2014 Ostrzeżenie: (0%) ![]() ![]() |
no trudno, dzieki za pomoc (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 77 Dołączył: 10.07.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Czekaj, czekaj... nie bardzo rozumiem co chcesz osiągnąć?
---EDIT Dobra, chyba zrozumiałem... Ogólnie to chodzi Ci o sprawdzanie: - Czy użytkownik jest zalogowany
- Czy użytkownik posiada uprawnienia do X
W przypadku 2go rozwiązania (sprawdzanie uprawnień) nie musisz sprawdzać czy użytkownik jest zalogowany (nie musisz wykonywać obu sprawdzeń). Dodatkowo tutaj(2gi sample) masz opcję przez adnotacje (im więcej w serwisie tym wolniej). Jeżeli robiłeś sprawdzanie "zalogowania" inaczej, to robiłeś to źle, albo inaczej... nie tak jak mogłeś czy też powinieneś. Ten post edytował kpt_lucek 21.05.2016, 22:05:46 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:46 |