Skocz do zawartości

Bogowie phpBB pomóżcie : wykorzystanie 'user_id'


Projektseo

Rekomendowane odpowiedzi

Chciałbym, aby na każdej stronie forum, grupie młodszych userów (powiedzmy, że o id powyżej 99) wyświetlał się komunikat.

Uznałem, że najsensowniej zrobić to w pliku overall_header.tpl (czy nie?).

Próbowałem w ten sposób, ale nie działa:

wstawiłem pomiędzy znacznikami

<!-- BEGIN switch_user_logged_in -->

...

<-- END switch_user_logged_in -->

aby być spokojnym, że wykona się zalogowanym, czyli wszelkie dane usera zostały pobrane:

<php?
if ($user->data['user_id'] > 99)
{
echo "komunikat";
}
else
{
echo "";
{
?>

Czy ktoś wie, jak to prawidłowo wykonać?


...oczywiście <?php

Odnośnik do komentarza
Udostępnij na innych stronach

Zamiast <?php i ?> użyj:

<!--PHP--> <!--ENDPHP-->

Żeby skrypty PHP w szablonach działały, musisz w panelu administracyjnym w sekcji "Zabezpieczenia" uaktywnić opcję "Zezwól na stosowanie PHP w szablonach"

I tyle ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Może spróbuj inaczej - zdefiniuj jakąś zmienną, np. $userid = $user->data['user_id']; i wstaw tę zmienną do instrukcji warunkowej.

W ogóle przydałoby się już na samym początku podać, z jakiej wersji phpBB korzystasz, bo tego nie podałeś :P

Odnośnik do komentarza
Udostępnij na innych stronach


Może spróbuj inaczej - zdefiniuj jakąś zmienną, np. $userid = $user->data['user_id']; i wstaw tę zmienną do instrukcji warunkowej.
Co to za różnica ? Bez sensu....

Możesz wyświetlić listę właściwości: print_r($user) ; i zobaczyć czy masz tam 'user_id' jeśli tak to w instrukcji warunkowej dla pewności rzutuj na tym integer: if ((int) $user->data['user_id'] > 99)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach


no i niestety print_r($user) ; nie zwraca niczego, kompletnie
dlatego nie działa, bo zmienna jest pusta $user, wiec musisz to jakoś rozwiązać.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

...

Ok, jest jakiś postęp :)

Trzeba było sięgnąć głębiej. Po użyciu:

global $userdata;
print_r($userdata);

zwraca:

Array ( [user_id] => 2 [user_active] => 1 [username] => mój_nick [user_session_time] => ... itd. ... itp. ... )

Jak teraz pobrać ten user_id, aby można go było użyć w if ($user->data['user_id'] > 99) ?

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności