Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 3.04.2009 Ostrzeżenie: (0%)
|
Witam. Czy jest możliwe zrobienie takiego skryptu:
if(warunek) odśwież Jeśli tak to jak?? Ten post edytował pszczola0818 8.04.2009, 17:37:07 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 385 Pomógł: 26 Dołączył: 22.03.2008 Skąd: TM Ostrzeżenie: (0%)
|
Odświerzenie będzie jednocześnie przekierowaniem przeglądarki na stronę która jest aktualnie uruchomiona (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Więc da się (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
np Kod if(isset($warunek)) { $actFile = $_SERVER['SCRIPT_FILENAME']; echo "<META HTTP-EQUIV=Refresh CONTENT=0; URL=$actFile>"; } Zobacz tak. PS. Zobacz pierw co zwraca Ci $_SERVER['SCRIPT_FILENAME'], bo ogólnie na serwerach wartość się różni, a Tobie chodzi o nazwę pliku aktualnie wykonywanego. Ten post edytował kajzur 8.04.2009, 17:51:56 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 3.04.2009 Ostrzeżenie: (0%)
|
Chodzi mi o to aby to działało gdzieś dalej w skrypcie, tzn:
<html> <head> .... </head> <body> .... <?php instrukcja1; instrukcja2 ...... if(warunek) odśwież; else instrukcja3; ...... ?> a jeśli dobrze zrozumiałem Twój skrypt to on działa na samym początku czyli przy wstawianiu znaczników <META> Ten post edytował pszczola0818 8.04.2009, 19:04:25 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%)
|
oraz: Cytat a jeśli dobrze zrozumiałem Twój skrypt to on działa na samym początku czyli przy wstawianiu znaczników <META> Jaki jest sens wyświetlanie czegoś przed komendą "odśwież"? Ja bym to dał na początku i użył header:
Ten post edytował TomASS 8.04.2009, 19:24:49 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%)
|
Nagłówki można wysyłać w dowolnym miejscu kodu tyle, że należy wtedy buforować wyjście
ob_start" title="Zobacz w manualu PHP" target="_manual, ob_end_flush" title="Zobacz w manualu PHP" target="_manual |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%)
|
Cytat Nagłówki można wysyłać w dowolnym miejscu kodu tyle, że należy wtedy buforować wyjście ob_start, ob_end_flush Można, tylko w jakim celu wysyłać coś do przeglądarki jak zaraz nastąpi przekierowanie? Ten post edytował TomASS 8.04.2009, 20:44:35 |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%)
|
Można, tylko w jakim celu wysyłać coś do przeglądarki jak zaraz nastąpi przekierowanie? Ale można tego nie wiedzieć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ja np. mam szablon header.tpl który składa mi cały początek strony: szkielet, dołączanie styli oraz plików JS, składa zdarzenie onload, wszystko generowane przez PHP. Ten szablon jest dołączany na początku każdej strony, a następnie jest szablon konkretniej z nich w którym wykonywane są konkretne akcje i tutaj np. może być wysyłanie nagłówka ze zmianą lokalizacji, bo dopiero w tym miejscu występuje taka potrzeba i skrypt o tym wie. Nie wiem czy ktoś mnie zrozumiał, ale w każdym bądź razie, takie sytuacje się pojawiają. Wszystko zależy od tego jak piszesz - 1 plik = 1 strona czy np. MVC |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%)
|
Zrozumiałem.
Coś źle zaprojektowałeś MVC, skoro najpierw generuje kod HTML, wysyła go do przeglądarki, a później zastanawia się czy nie przejść jednak na inną stronę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) A dopytuję się tak, bo jeszcze nigdy nie znalazłem (za krótko żyję) uzasadnienia umieszczanie hedaera po wysłaniu czegoś do przeglądarki... |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%)
|
Dlaczego zaraz źle?
Można by zrobić tak aby to działało tak jak Ty tego oczekujesz, ale nie jest to jakiś błąd projektowy myślę. Chodź przyznam szczerze moja wiedz na temat MVC i modelowania frameworka, silnika, czy jakkolwiek inaczej to nazwać, dla stron, nie jest za duża. Przyznaje, że długo zastanawiałem się nad tym postem wcześniejszym, czy tak to u mnie zadziała i czy jest to ok, ale doszedłem do wniosku, że może być. |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 3 Dołączył: 13.10.2010 Skąd: Świdnica Ostrzeżenie: (0%)
|
Jestem w trakcie pisania własnego silnika MVC i natknąłem się na pewien problem z działaniem kodu.
index.php wygląda następująco.
Chyba nie ma co dużo tłumaczyć. Index inicjuje (includuje potrzebne pliki) tworzy obiekty do odczytywania URLa i wczytania na tej podstawie odpowiednich plików Modelu, Widoku i Kontrolera. Teraz ta część której nie jestem pewny, prawdopodobnie sama filozofia jest rąbnięta, ale już tłumaczę o co mi chodzi... Następnie gdy mamy wczytany już model, kontroler i widok, aplikacja bierze (jeśli jest coś w url'u) dane do wykonania akcji (wywołania odpowiedniej funkcji) i ją wykonuje. W widoku mam link, który podaje do url'a dane do akcji. Akcja zostaje wykonana, jednak, aby zobaczyć zmiany muszę ręcznie odświeżyć stronę, bo wszystko dzieje się na pliku index.php i nie odświeża mi go podczas klikania na link. Teraz pytanie, co można z tym zrobić, aby hulało? Próbowałem z header ale wyskakuje błąd, że nie można przekierować na stronę która jest obecnie wczytana. Za jakiekolwiek wskazówki, podpowiedzi będę bardzo wdzięczny. Ten post edytował iro88 20.01.2011, 10:08:09 |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 17:32 |