Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]funkcja Die
djtomaszq
post
Post #1





Grupa: Zarejestrowani
Postów: 192
Pomógł: 0
Dołączył: 5.07.2015

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


Mam taki fragment kodu/funkcje:

  1. function czy_zalogowany() {
  2. if(!$_SESSION['zalogowany']) {
  3. die('<p>Ta strona jest tylko dla zalogowanych.</p>');
  4. }
  5. }


umieszczam ją w różnych częściach strony jeśli nie jest przeznaczona dla użytkowników ma wyświetlać taki tekst jak wyżej.

Tylko, że wtedy ucina mi dalszą część strony i ten tekst wyświetla się poniżej szablonu strony. Jak temu zaradzić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


Jeżeli ma plików niedużo, to może zostać przy swoim switch, bo file_exists jest niebezpieczne, przynajmniej w tej formie, którą zaproponowałeś wyżej. Trzeba wtedy robić porządną walidację.
Krótki przykład mini acl`a, Twoja funkcja czy_zalogowany:
  1. function czy_zalogowany() {
  2. if(isset($_SESSION['zalogowany']) && $_SESSION['zalogowany']) {
  3. return true;
  4. }
  5. return false;
  6. }

  1. <?
  2. $switch = isset($_GET['parent']) ? $_GET['parent'] : null;
  3. $loggedOnly = array('forum'); // tutaj wymieniasz elementy tylko dla zalogowanych
  4. if($switch && in_array($switch, $loggedOnly) && !czy_zalogowany())
  5. {
  6. $switch = 'brak_uprawnien';
  7. }
  8.  
  9. SWITCH ($switch){
  10.  
  11. CASE "forum":
  12. INCLUDE 'forum/forum.php';
  13. BREAK;
  14. CASE "brak_uprawnien":
  15. include "tresc_bledu.php"
  16. break;
  17. DEFAULT:
  18. include 'pliki/glowna.php';
  19. BREAK;
  20. }
  21. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 18.10.2025 - 02:41