Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Prosty system modułów
ghastblood
post
Post #1





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


Witam,
poszukuje prostego systemu modułów lub podpowiedzi jak taki system powinien działać. Interesował bym mnie kod Proceduralny ponieważ jeszcze się nie przyzwyczaiłem do programowania obiektowego. Zrobiłem sobie coś takiego.
  1.  
  2. if(isset($_SESSION['zalogowany'])) {
  3. }else{
  4. header('location: index.php?id=2');
  5. }
  6. $sql_wynik = dbquery("SELECT * FROM plugins WHERE plugin_number='".$_GET['id']."' && plugin_side = '2'");
  7.  
  8. $r = dbarray($sql_wynik);
  9. if($r == NULL){
  10. echo 'plugin nie istnieje';
  11. } else{
  12. include $r['plugin_path']."/".$r['plugin_start'];
  13. }


Problem w tym że przeglądarka zwraca mi błąd że Ta strona internetowa zawiera pętlę przekierowań. Gdy robię przekierowanie na inny plik w header to jest dobrze gdy chce przekierować na index.php?id=2 czy każde inne id to wywala mi błąd.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


No nie wiem czy index.php to moduł. Ja bym to rozwiązał na jeden z dwóch sposobów:

1. Oparty na liście modułów - sam wybierasz które mają działać, a które nie:
  1. $module = null;
  2. if(isset($_GET['module'])) {
  3. switch($_GET['module']) {
  4. case 'login':
  5. case 'register':
  6. case 'gallery':
  7. case 'logout':
  8. $module = $_GET['module'];
  9. break;
  10. }
  11. }
  12. if( ! isset($module)) {
  13. $module = 'main';
  14. }
  15. require('modules/'.$module.'.php');


2. Oparty na sprawdzaniu czy plik istnieje - proste w użyciu, jeśli plik istnieje to ładujemy moduł:
  1. $module = (isset($_GET['module']) AND file_exists('modules/'.$_GET['module'].'.php')) ? $_GET['module'] : 'main';
  2. require('modules/'.$module.'.php');


Oczywiście można połączyć obie te metody.
Go to the top of the page
+Quote Post

Posty w temacie


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: 1.10.2025 - 01:18