Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Treść w ogranicznikach dla zalogowanych
blackweb
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 5.11.2008
Skąd: Polska

Ostrzeżenie: (0%)
-----


Piszę system dynamicznych szat graficznych, utknąłem niestety w chwili, gdy chciałem część treści udostępniać tylko zarejestrowanym. Jak sprawić, by tekst pomiędzy
Kod
<!-- ZALOGOWANY -->
JAKIŚ TEKST
<!-- /ZALOGOWANY -->

był widoczny jedynie dla użytkowników zarejestrowanych.
(Załóżmy że dla zalogowanego użytkownika zmienna $zalogowany = 1, dla gościa $zalogowany =0)

Ten post edytował blackweb 7.11.2008, 00:57:46


--------------------
BlackWeb - Łukasz Bajsarowicz
Go to the top of the page
+Quote Post
_olo_1984
post
Post #2





Grupa: Zarejestrowani
Postów: 289
Pomógł: 77
Dołączył: 5.08.2006

Ostrzeżenie: (0%)
-----


poprostu:
  1. <?php
  2. if($zalogowany == 1) {
  3. echo 'jestes zalogowany'; // wszystko co chcesz by zalogowani widzieli
  4. }
  5. else {
  6. echo 'Jestes niezalogowany !';
  7. }
  8. ?>


pozatym najlepiej (tak mi sie wydaje) wykorzystywac do tego sesje ($_SESSION)


--------------------
awake
Go to the top of the page
+Quote Post
blackweb
post
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 5.11.2008
Skąd: Polska

Ostrzeżenie: (0%)
-----


Rozumiem, że mnie nie zrozumiałeś. Nie chodzi mi tutaj o kod PHP, bo to jest dla mnie banałem. Kwestią jest jak wspomniałem system szat. W pliku TPL zamierzam uniknąć używania PHP, aby kod był czysty, bez żadnego śmiecenia IF'ami. Stąd:
Kod
<ul id="top_menu">
    <li><a href="{LINK_GLOWNA}" title="{NAZWA_SERWISU}">Strona główna</a></li>
    <li><a href="{LINK_KATEGORIE}" title="{NAZWA_KATEGORIE}">{JEZYK_KATEGORIE}</a></li>
    <li><a href="{LINK_POMOC}" title="{JEZYK_POMOC}">{JEZYK_POMOC}</a></li>
    <li><a href="{LINK_DODAJ_OGL" title="{JEZYK_DODAJ_OGL}">{JEZYK_DODAJ_OGL}</a></li>
    <!-- JEZELI NIEZALOGOWANY -->
    <li><a href="{LINK_REJESTRACJA}" title="{JEZYK_REJESTRACJA}">{JEZYK_REJESTRACJA}</a></li>
    <li><a href="{LINK_LOGOWANIE}" title="{JEZYK_LOGOWANIE}">{JEZYK_LOGOWANIE}</a></li>
    <!-- JEZELI NIEZALOGOWANY -->
    <!-- JEZELI ZALOGOWANY -->
    <li><a href="{LINK_TWOJE_OGL}" title="{JEZYK_TWOJE_OGL}">{JEZYK_TWOJE_OGL}</a></li>
    <li><a href="{LINK_WYLOGUJ}" title="{JEZYK_WYLOGUJ}">{JEZYK_WYLOGUJ}</a></li>
    <!-- JEZELI ZALOGOWANY -->
</ul><br />

Chcę by skrypt parsujący zwracał uwagę na to czy user jest zalogowany, jeżeli tak to wyświetla odpowiednie treści, jeżeli nie ... to nie :-)


--------------------
BlackWeb - Łukasz Bajsarowicz
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Kod
<!-- JEZELI ZALOGOWANY -->
   ...
<!-- JEZELI ZALOGOWANY -->
<!-- JEZELI NIEZALOGOWANY --
   ...
<!-- JEZELI NIEZALOGOWANY -->
VS
  1. <?php if($logged): ?>
  2.   ...
  3. <?php else: ?>
  4.   ...
  5. <?php endif; ?>
Śmietnikiem to chyba będzie to pierwsze
Go to the top of the page
+Quote Post
blackweb
post
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 5.11.2008
Skąd: Polska

Ostrzeżenie: (0%)
-----


Jak to wrzucić teraz w TPL żeby było honorowane?


--------------------
BlackWeb - Łukasz Bajsarowicz
Go to the top of the page
+Quote Post
eyu
post
Post #6





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 17.09.2007

Ostrzeżenie: (0%)
-----


Kod
<ul id="top_menu">
    <li><a href="{LINK_GLOWNA}" title="{NAZWA_SERWISU}">Strona główna</a></li>
    <li><a href="{LINK_KATEGORIE}" title="{NAZWA_KATEGORIE}">{JEZYK_KATEGORIE}</a></li>
    <li><a href="{LINK_POMOC}" title="{JEZYK_POMOC}">{JEZYK_POMOC}</a></li>
    <li><a href="{LINK_DODAJ_OGL" title="{JEZYK_DODAJ_OGL}">{JEZYK_DODAJ_OGL}</a></li>
    {if $logged}
    <!-- JEZELI ZALOGOWANY -->
    <li><a href="{LINK_TWOJE_OGL}" title="{JEZYK_TWOJE_OGL}">{JEZYK_TWOJE_OGL}</a></li>
    <li><a href="{LINK_WYLOGUJ}" title="{JEZYK_WYLOGUJ}">{JEZYK_WYLOGUJ}</a></li>
    <!-- JEZELI ZALOGOWANY -->
    {else}
    <!-- JEZELI NIEZALOGOWANY -->
    <li><a href="{LINK_REJESTRACJA}" title="{JEZYK_REJESTRACJA}">{JEZYK_REJESTRACJA}</a></li>
    <li><a href="{LINK_LOGOWANIE}" title="{JEZYK_LOGOWANIE}">{JEZYK_LOGOWANIE}</a></li>
    <!-- JEZELI NIEZALOGOWANY -->
    {/if}
</ul><br />


To masz na myśli? Do warunku w tpl musisz coś przekazać z php.

Ten post edytował eyu 7.11.2008, 15:55:37
Go to the top of the page
+Quote Post
blackweb
post
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 5.11.2008
Skąd: Polska

Ostrzeżenie: (0%)
-----


Oto fragment mojego kodu
Kod
        foreach($Jezyk as $Argument => $Wartosc){
            $PodmienZ[] = '/{JEZYK_'.$Argument.'}/';
            $PodmienNa[] = $Wartosc;
        }
        
        return preg_replace($PodmienZ,$PodmienNa,$ZmiennaPliku);

Jak teraz te {if} dopasować do moich potrzeb? Przypominam że nie jest to żaden smarty etc.

Ten post edytował blackweb 7.11.2008, 15:58:19


--------------------
BlackWeb - Łukasz Bajsarowicz
Go to the top of the page
+Quote Post
bim2
post
Post #8





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Nie rób tego na tej zasadzie. Daj
str_replace('<!-- ZALOGOWANY -->', 'if($zalogowany) {', $tpl);
str_replace('<!-- /ZALOGOWANY -->', '}', $tpl);
file_put_contents('lol.tpl.php', $tpl);

i przy wywolaniu templatki include('lol.tpl.php');


--------------------
Go to the top of the page
+Quote Post
blackweb
post
Post #9





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 5.11.2008
Skąd: Polska

Ostrzeżenie: (0%)
-----


Cytat(bim2 @ 7.11.2008, 16:00:24 ) *
Nie rób tego na tej zasadzie.


Tzn. o którym fragmencie mówisz?


--------------------
BlackWeb - Łukasz Bajsarowicz
Go to the top of the page
+Quote Post
bim2
post
Post #10





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


ogólnie...


--------------------
Go to the top of the page
+Quote Post
blackweb
post
Post #11





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 5.11.2008
Skąd: Polska

Ostrzeżenie: (0%)
-----


Twój pomysł polega na odczytaniu kodu z pliku TPL i stworzeniu jego cache w oddzielnym pliku - PHP. To dałoby radę, ale nie wiem czy przy tak niewielkich wymaganiach jest mi potrzebne cache.


--------------------
BlackWeb - Łukasz Bajsarowicz
Go to the top of the page
+Quote Post
bim2
post
Post #12





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Tak działa to 23x dłużej. Przynajmniej 2 lata temu mi tak to działało haha.gif Od dawna używam niby cache i jest OK. Dodatkowo zapisujew txt ciąg md5 aby wiedzieć czy nie nastapiły zmiany w templatce, więc w ogóle nie ma pregów.


--------------------
Go to the top of the page
+Quote Post
blackweb
post
Post #13





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 5.11.2008
Skąd: Polska

Ostrzeżenie: (0%)
-----


OK. Zrobione. Jeszcze tylko zrobię sprawdzanie czy rozmiar się zmienił, dzięki czemu nie będę za każdym razem parsował strony i będzie świetnie.


--------------------
BlackWeb - Łukasz Bajsarowicz
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 03:30