• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Ukryce g-recaptcha, nie wyświetlanie

VPS Starter Arubacloud
0 głosów
174 wizyt
pytanie zadane 22 maja 2020 w PHP przez spicedagger Użytkownik (530 p.)
zamknięte 23 maja 2020 przez spicedagger

Mam problem z ukryciem a raczej nie wyświetlanie. recaptchy dla zalogowanego użytkownika.

zrobiłem coś takiego i nie działa, nie wiem, jakieś inny pomysły

if(!isset($_SESSION['zalogowany']==true)) {
	   echo "<center><div 	 class='g-recaptcha' data-sitekey='TAk mam tu poprawy klucz'></div></center> <br>"; 
	   
	 }

 

komentarz zamknięcia: rozwiązany

1 odpowiedź

0 głosów
odpowiedź 22 maja 2020 przez Arkadiusz Waluk Ekspert (288,770 p.)
Trochę mało kodu i informacji, ale rozumiem, że nawet gdy jesteś wylogowany, to wyświetla się captcha? W momencie wylogowania co się dzieje z $_SESSION['zalogowany']? isset() sprawdza czy dana wartość istnieje. Może np. w momencie wylogowania ustawiasz to na false i tym samym nadal istnieje, tyle że ma wartość false a nie true?
komentarz 22 maja 2020 przez spicedagger Użytkownik (530 p.)
Troszkę tam zmieniłem na  if(!isset($_SESSION['zalogowany']==true), ale i tak nie działa:

chodzi mi oto żeby nie pokazywał captchy  w formularzu kontaktowym jak jesteś zalogowany bo to nie ma sensu. Sesja po wylogowaniu jest ustawiana na false i dodałem zniszczenie na wszelki wypadek ale nie działa,  mam  mam takiego ifa do imputa z e-mail i działa a ta captcha nie działa
komentarz 23 maja 2020 przez Arkadiusz Waluk Ekspert (288,770 p.)

Jeśli zmieniłeś dokładnie tak, to na pewno nie zadziała, bo jest błąd składniowy - brakuje jednego zamknięcia nawiasu. Poza tym nie to miałem na myśli - bez znaczenia jak to sprawdzisz, to isset() zwróci prawdę zarówno gdy wartość $_SESSION['zalogowany'] będzie true, jak i gdy false. To sprawdza czy dany element istnieje, a wtedy istnieje, tyle że ma false. Polecam zerknąć: https://www.php.net/manual/en/types.comparisons.php

Po dodaniu session_destroy() już powinno działać, bo wtedy cała sesja znika, ale o ile dobrze pamiętam to w ramach tego samego wykonania $_SESSION pozostanie widoczne. Czyli np. jeśli gdzieś na początku kodu zrobisz session_destroy() to do końca tego kodu jeszcze w $_SESSION prawdopodobnie będą przypisane wartości, a dalej (przy kolejnym wykonaniu tego samego pliku/przejściu do innego) już nie powinno ich być.

komentarz 23 maja 2020 przez spicedagger Użytkownik (530 p.)
Nie wiem co było grane, bo teraz działa to z samego początku,  dziwne straszne

Podobne pytania

0 głosów
2 odpowiedzi 408 wizyt
pytanie zadane 23 grudnia 2019 w PHP przez Karol97 Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 594 wizyt
pytanie zadane 5 czerwca 2022 w PHP przez TlenekWodoru Użytkownik (520 p.)
0 głosów
1 odpowiedź 273 wizyt
pytanie zadane 3 marca 2019 w HTML i CSS przez trixter310 Obywatel (1,440 p.)

92,980 zapytań

141,943 odpowiedzi

321,189 komentarzy

62,309 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...