![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 1 Dołączył: 17.07.2003 Skąd: Kazanów Ostrzeżenie: (0%) ![]() ![]() |
mam problem z zatrzymywaniem skryptu w razie błędu poprzez wywołanie die() no wiec srawa wygląda tak. w config.inc.php zapiosałem sobie funkcje down() która jest odpowiedzialna za wyświetlenie menu i reszty strony po wczytaniu textu. no to w razie błędu wywołuje to za pomocą:[php:1:4411a7b292]<?php
if($jakis_tam_blad) die("tresc komunikatu".down()); ?>[/php:1:4411a7b292] no i teraz zachodzi mi pewna dziwna sprawa ponieważ najpierw jest wywoływana funkcja down() a dopiero potem idzie komunikat. co może być tego przyczyną? bardzo proszę o szybką odpowiedź! pozdrawiam, Ive |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 39 Dołączył: 12.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
funkcja down() musialaby zwracac (return) a nie wypisywac (echo/print) mozesz zrobic:
[php:1:536da4e265]<?php if($jakis_tam_blad) { echo 'tresc komunikatu'; down(); exit; } ?>[/php:1:536da4e265] -------------------- rm -rf /*
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 1 Dołączył: 17.07.2003 Skąd: Kazanów Ostrzeżenie: (0%) ![]() ![]() |
heh ale korzystając z twojego sposobu to musiałbym przerabiać każdy die w kodzi a jest tego na prawde dużo :/ a funkcja down() nie zwrqaca mi echo ani print tylko:
[php:1:bec89eed20]<?php function down() { global $smarty; $smarty->display("lay/po_tresc.inc.htm"); $smarty->display("lay/navigation.inc.htm"); $smarty->display("lay/rightmenu.inc.htm"); $smarty->display("lay/down.inc.htm"); ob_end_flush(); } ?>[/php:1:bec89eed20] [tak duzo plików wczytuje bo musze jeszcze dorobić dynamiczne menu - to tak jakby się ktoś dziwił ;] ] |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Wiec zdefiniuj swoja funkcje die():
[php:1:47ab4c876f]<?php function koniec($str) { echo $str; down(); } ?>[/php:1:47ab4c876f] i zamien wszystkie wywolania die() na koniec() - w wieksosci edytorow bedzie to trywialne i szybkie. -------------------- Brak czasu :/
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 39 Dołączył: 12.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
sprobuj tak:
[php:1:24f640e370]<?php function down() { global $smarty; ob_start(); $smarty->display("lay/po_tresc.inc.htm"); $smarty->display("lay/navigation.inc.htm"); $smarty->display("lay/rightmenu.inc.htm"); $smarty->display("lay/down.inc.htm"); $content = ob_get_contens(); ob_end_clean(); ob_end_flush(); return $content; } ?>[/php:1:24f640e370] tylko nie wiem czy sie moj bufor z twoim nie pogryzie ![]() -------------------- rm -rf /*
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Używając Smarty, można skorzystać z innej metody:[php:1:d6aa17cb43]<?php
function down() { global $smarty; $content = $smarty->fetch("lay/po_tresc.inc.htm"); $content = $smarty->fetch("lay/navigation.inc.htm"); $content = $smarty->fetch("lay/rightmenu.inc.htm"); $content = $smarty->fetch("lay/down.inc.htm"); return $content; } ?>[/php:1:d6aa17cb43] -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Jak juz to:
[php:1:f3621265fb]<?php function down() { global $smarty; $content = $smarty->fetch("lay/po_tresc.inc.htm"); $content .= $smarty->fetch("lay/navigation.inc.htm"); $content .= $smarty->fetch("lay/rightmenu.inc.htm"); $content .= $smarty->fetch("lay/down.inc.htm"); return $content; } ?>[/php:1:f3621265fb] ![]() -------------------- Brak czasu :/
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 1 Dołączył: 17.07.2003 Skąd: Kazanów Ostrzeżenie: (0%) ![]() ![]() |
dzięki! działa tylko nie wiem czemu na tym $smarty->fetch nie działa ale zmieniłem na display i jest ok ;]
[EDIT] heh... zapędziłem się :/ nadal na pierwszym miejscu jest wywoływane $smarty a dopiero potem komunikat :/ |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Jak chcesz zeby smmarty bylo pozniej to musi byc fetch, co Ci z nim nie dziala ?
-------------------- Brak czasu :/
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 1 Dołączył: 17.07.2003 Skąd: Kazanów Ostrzeżenie: (0%) ![]() ![]() |
Dobra jest! ;] już zrobiłem to wykorzystując metodę FiDO z funkcją koniec ;] już jest poprawnie zwrazany błąd
![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Dosc dziwne, ze fetch Ci nic nie zwracal, skoro metoda display wewnatrz Smarty odwoluje sie wlasnie do fetch...
-------------------- Brak czasu :/
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 1 Dołączył: 17.07.2003 Skąd: Kazanów Ostrzeżenie: (0%) ![]() ![]() |
hm... w smartach jest na poziomie very basic więc raczej o tym z tobą nie pogadam ale tak właśnie było
![]() [EDIT] kod brałem z waszych postów [nic w nim nie zmieniałem] |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 08:53 |