![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 30.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam chciałbym zapytać jak uprościć ukrywanie podmenu przed niezalogowanym użytkownikiem. Dodam, że zrobiłem to i działa świetnie. Mam jednak wrażenie, że da się to uprościć, przynajmniej mam taką nadzieję (IMG:style_emoticons/default/smile.gif)
mam funkcję:
w ten sposób zrobiłem rozwijane menu tak żeby tylko zalogowani mogli zobaczyć podmenu po najechaniu na odpowiednią kategorię kursorem:
Teraz pytanie czy da się ustawić klasę dla niewidocznego <ul> np: <ul class="loggedin">, i zdefiniować ją w funkcji php tak żeby nie dodawać za każdym razem instrukcji "if". Mam nadzieję, że w miarę wyjaśniłem o co mi chodzi. Mile widziane inne rozwiązania (IMG:style_emoticons/default/smile.gif) Pozdrawiam Ten post edytował mikcuki 19.12.2012, 15:14:54 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 17.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
mozesz zrobic tak jak piszesz pod warunkiem ze sprawdzasz rowniez po stronie serwera (wchodzac na strone w ukrytym linku), czy user jest zalogowany..
bo jesli tego nie zrobisz to bedzia tylko atrapa zabezpieczenia.. (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 15 Dołączył: 19.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Niestety jedynym sensownym sposobem są ify jednak możesz troche poprawić swój kod:
- aby poprawić kolorowanie składni html, zamiast
użyj
- zamień if (logged_in() === true) na if (logged_in()) oraz return (isset($_SESSION['user_id'])) ? true : false; na return isset($_SESSION['user_id']); |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 30.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
mozesz zrobic tak jak piszesz pod warunkiem ze sprawdzasz rowniez po stronie serwera (wchodzac na strone w ukrytym linku), czy user jest zalogowany.. bo jesli tego nie zrobisz to bedzia tylko atrapa zabezpieczenia.. (IMG:style_emoticons/default/wink.gif) Strony, do których prowadzą ukryte linki też sprawdzają czy user jest zalogowany i nie chodzi tu o same zabezpieczenie tylko o to żeby niepotrzebnie nie wyświetlać przypadkowym gościom linków do stron, na które i tak nie mogą wejść. Już jak się ktoś uprze i będzie chciał na skróty przez url wejść to wyświetli się info, że musi być zalogowany. Niestety jedynym sensownym sposobem są ify jednak możesz troche poprawić swój kod: - aby poprawić kolorowanie składni html, zamiast
użyj
- zamień if (logged_in() === true) na if (logged_in()) oraz return (isset($_SESSION['user_id'])) ? true : false; na return isset($_SESSION['user_id']); Dzięki za odpowiedź. Szkoda, że nie da się tego jakoś "zautomatyzować" bo jeszcze sporo przede mną i miałem nadzieję, że sobie trochę ułatwię (IMG:style_emoticons/default/tongue.gif) Pozdrawiam. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 17.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kod <?php $class_name = (logged_in() !== true) ? 'ul-hidden' else ''; ?>
<div id="nav"> <ul> <li><a href="#">Menu 1</a> <ul class="<?php echo $class_name; ?>"> <li><a href="#">Menu 1.1</li> <li><a href="#">Menu 1.2</li> <li><a href="#">Menu 1.3</li> </ul> </li> <li><a href="#">Menu 2</a> <ul class="<?php echo $class_name; ?>"> <li><a href="#">Menu 2.1</li> <li><a href="#">Menu 2.2</li> <li><a href="#">Menu 2.3</li> </ul> </li> <li><a href="#">Menu 3</a> <ul class="<?php echo $class_name; ?>"> <li><a href="#">Menu 3.1</li> <li><a href="#">Menu 3.2</li> <li><a href="#">Menu 3.3</li> </ul> </li> </ul> </div> |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 10:17 |