Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] die; aka zniszcze twój szablon! :/
-lksh-
post
Post #1





Goście







Witam , no więc problem w tym, że zawsze kiedy użyje funkcji die cały szablon się psuję... czy jest jakiś sposób, żeby tak się nie działo? (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Speedy
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

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


Umieść die() w odpowiednim miejscu. Zwróć uwagę, że funkcja die() powoduje NIEwykonywanie się wszystkiego co się pod nią znajdzie.
Możesz też użyć jakiegoś innego rozwiązania.

btw. nie widzę tego Twojego szablonu, więc mogę tylko się domyślać, co tam jest...

Ten post edytował Speedy 27.06.2006, 08:23:01
Go to the top of the page
+Quote Post
nasty
post
Post #3





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

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


  1. <?php
  2. // twoj kod
  3. ?>

i tu jak bedzie die() to ci nic nie wyjdzie.... oprucz komunikatu die
Go to the top of the page
+Quote Post
-lksh-
post
Post #4





Goście







No to wygląda mniej więcej tak:

index.php
  1. <?
  2. require "_config.php";
  3. polaczenie();
  4. ?>
  5. // --->poczatek szablonu
  6. -- tutaj jest środek i jest kod na include --
  7. // --->koniec szablonu


i teraz jak np. wpisuje adres http://www.pwned.pl/index.php?cmd=forum to mi się otwiera tam w środku szablonu no, a właśnie chodzi o to, że kiedy użyje funkcji die , cały szablon się ...
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no bo die() konczy definitywnie aplikacje w miejscu, wktórym wystapilo die(). nic sie potym nie wykona. wiec jesli szablon zaczynal jakis blok i wsrodki wyskoczy die() no to przykro sie mowi, ale reszta szablonu sie nie wykona.
Takie rzeczy nalezy obslugiwac inaczej, bez korzystania z die(). Jakis system komunikatow se napisz czy cus (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

pomysl nasty_psycho tez na nic sie nie zda, gdyz to co bylo przed die() i tak sie wyswietli. Tak wiec jego teoria:
Cytat
i tu jak bedzie die() to ci nic nie wyjdzie.... oprucz komunikatu die
jest bledna
Go to the top of the page
+Quote Post
nasty
post
Post #6





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

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


Cytat
pomysl nasty_psycho tez na nic sie nie zda, gdyz to co bylo przed die() i tak sie wyswietli. Tak wiec jego teoria:

@nospor - masz racje zapomnaiejem, i tu masz sprostowanie :
  1. <?php
  2. // twoj kod
  3.  
  4. // jak bedziesz chcial uzyc die to zrob:
  5. die();
  6.  
  7. // dalej twoj kod
  8.  
  9. ?>


sorry...

Ten post edytował nasty_psycho 27.06.2006, 09:00:21
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@nasty_psycho o, i teraz to ma ręce i nogi i nawet ciekawy to pomysl.

Jednak dalej obstaje przy dobrym systemiku komunikatów. Zawsze to lepiej zoabczyc kawalek strony i komunikat, iz cos tam nie dziala, niz tylko bialy ekran z czarnym napisem. Mi to sie kojarzy od razu, iz calą aplikacje szlag trafil (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nasty
post
Post #8





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

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


@nospor - zgadzam sie to moze :
  1. <?php
  2. // twoj kod
  3.  
  4. // jak bedziesz chcial uzyc die to zrob:
  5. $error_html = file_get_contents("error.html");
  6. $error_content = str_replace("ERROR_TEXT",$error,$error_html);
  7. die($error_content);
  8.  
  9. // dalej twoj kod
  10.  
  11. ?>

Wyjasniam: masz plik html ktory jest tylko i wylacznie do wyswietlania bledow, i jak ma sie bad jakis pokazac to czytamy error.html w ktorym jest caly kod strony w html i jest slowo ERROR_TEXT ktore jest zamieniane na zawartosc komunikatu z bledem i wszystko wyswietlamy...

i w takim przypadku robisz funkcje :
  1. <?php
  2. function ShowError($error)
  3. {
  4. $error_html = file_get_contents("error.html");
  5. $error_content = str_replace("ERROR_TEXT",$error,$error_html);
  6. die($error_content);
  7.  
  8. }
  9. ?>


i wtedy tylko ja wywolujesz podczas bledu

Ten post edytował nasty_psycho 27.06.2006, 09:12:08
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@nasty_psycho no ladnie, ladnie... naprawde (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Fajne rozwiązanie dla osob, którym nie przeszkadza zniknięcie calej strony spowodu jakiegos bledu. jesli wiec dla ~lksh to nie przeszkadza to ma idealne rozwiązanie.

Ja jednak obstaje przy systemiku komunikatów (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) W zasadzie wiekszosc bledow nie powinna likwidowac calej strony. no chyba ze w tym szablonie znajdzie sie wlasnie cala strona (lub jej prawie wierna kopia) - na chama dalo by sie zrobic (w zaleznosci od stopnia urozmaicenia strony na rozne akcje) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 24.08.2025 - 18:13