Serdecznie witam,
zaprojektowałem w swoim nowo budowanym systemie rozwiązanie polegające na przekazywaniu w adresie strony dwóch parametrów określających moduł oraz związaną z danym modułem akcję(index.php?mod=user&akcja=user itp.).
Problem pojawia się gdy za pomocą formularza wywołuję w akcji formularza plik index.php wraz z dwoma wymienionymi powyżej parametrami mod i akcja. Parametry kierują mnie do funkcji odpowiedzialnych za obróbkę danych. I tu pojawia się problem że po obróbce chciałbym wykorzystywać swój mechanizm tzn. otwierać dany fragment strony za pomocą parametrów definiowanych po obróbce.
Include odpada z powodu definiowania sztywnych linków strony (include 'http://www.xxxxx.xxx?mod=user&akc=useradd")
to samo dotyczy funkcji header.
Czy znacie jakięś metody które mogę użyć aby rozwiązać wyżej opisany problem?
Cytat
Problem pojawia się gdy za pomocą formularza wywołuję w akcji formularza plik index.php wraz z dwoma wymienionymi powyżej parametrami mod i akcja. Parametry kierują mnie do funkcji odpowiedzialnych za obróbkę danych. I tu pojawia się problem że po obróbce chciałbym wykorzystywać swój mechanizm tzn. otwierać dany fragment strony za pomocą parametrów definiowanych po obróbce.
Uhm, jaśniej?
W index.php storzyłem takiego switcha:
switch($mod){
case 'main':
if (isset($_REQUEST['akc'])){
$akc=$_REQUEST['akc'];
}else{
$akc='main';
}
switch($akc){
case 'main':
include 'templates/main/main.tmp.php';
break;
}
break;
case 'news':
include 'modules/newsletter/newsletter.func.php';
break;
case 'set':
include 'modules/ustawienia/ustawienia.func.php';
break;
}
}
W każdym z plików w katalogu module umiescilem podobnego switcha tylko że z parametrem akc.
I teraz załóżmy mam taką akcję że za pomocą formularza dodaje nowego newslettera. Za pomocą parametrów mod i akc trafiam do funkcji odpowiedzialnych za dodawania newslettera.
I teraz na sam koniec chciałbym aby za pomocą zmiennyc mod i akc znów odwołać się do pliku index.php i wywołać podstronę z np. tabelą newsletterów.
Dlatego poszukuj zeminników dla includa lub headera.