• 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

Cloud VPS
0 głosów
253 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 (290,310 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 (290,310 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 461 wizyt
pytanie zadane 23 grudnia 2019 w PHP przez Karol97 Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 827 wizyt
pytanie zadane 5 czerwca 2022 w PHP przez TlenekWodoru Użytkownik (520 p.)
0 głosów
1 odpowiedź 315 wizyt
pytanie zadane 3 marca 2019 w HTML i CSS przez trixter310 Obywatel (1,440 p.)

93,488 zapytań

142,422 odpowiedzi

322,772 komentarzy

62,906 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

Kursy INF.02 i INF.03
...