Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekierowywac, czy nie?
Forum PHP.pl > Forum > PHP
Cysiaczek
Witam.

Problem pierwszy:
Zastanawiam się, czy po zakończeniu wykonywania skryptu, który np. dodaje wpisy do bazy danych automatycznie przekierowywać za pomocą HEADER na inny adres... Wiem - niby żaden problem, ale czy to ma sens?

W zarysie mam cosik takiego:
  1. <?
  2. $action=new MenuItem(); //Nowy obiekt menu
  3. $action->addMenuItem(); // dodaj do istniejących
  4. header("Location:"index.php".?akcja=showmenu); //przekieruj np na strone zawierajaca elementy menu
  5. ?>

Może lepiej wywoływać metodę tego obiektu dla każdego działania?
  1. <?
  2. // Dodajmy element menu do naszej strony
  3. $action=new MenuItem(); //Nowy obiekt menu
  4. $action->addMenuItem(); // dodaj do istniejących
  5. $action->showAllMenuItem(); //Wyświetl wszystkie elementy menu
  6. ?>

Zakładam, że ma to działać na PHP4/PHP5.
Dokładniej choidzi o to, że w drugim przypadku, przy przesyłaniu części danych metodą POST lub GET aplikacja staje się niodporna na odświeżanie przeglądarki bez dodatkowego kodu i może nam np wykonać kilka razy tą samą operację.
Ważne jest również to, że aplikacja zawsze zaczyna działanie z pliku index.php, w którym na podstawie zmiennych przesłanych przez GET (ew. POST) jest dokonywany wybór działania poprzez SWITCH
Wygląda to np tak:

Czy zatem lepiej korzystać z przekierowania, czy poświęcić czas na napisanie bardziej defensywnego kodu?

Bedę wdzięczny za pomysły, bo już dwa dni rozważam tę kwestię i nie mogę ruszyć, bo nie chce mi się potem grzebać w 30000 linijek kodu jak się coś sypnie lub zmienię zdanie winksmiley.jpg

Problem drugi:

Klasy aplikacji pisałem tak, aby można było używać zamiennie funkcji include albo klas template (Smarty etc).
Aktualnie używam include, ale chciałbym wypróbować również jakiś system szablonów. Problem w tym, że smarty jest zbyt dużą "kobyłą" i właściwie korzystałbym tylko z funkcji display(), więc nie chcę tego systemu. Zastanawiam się, czy moglibyście polecić jakiś mniejszy system, który zjada mniej zasobów (i nie wymaga nauki programowania od nowa happy.gif )

Z góry dzięki za wszystkie ewentualne odpowiedzi.
Pozdrawiam.
mike
Przenoszę na php
Kuziu
Przekierowując nie masz problemów z odświeżeniem przez użytkownika i dodaniem ponownie tego samego postu
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.