Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Switch i co dalej...
Trinity
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 6.08.2009

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


Witam!
Mam pytanie odnośnie SWITCH. Umieszczam na stronie, w określonej warstwie (np. MAIN), podstrony za pomocą instrukcji Switch (przykład poniżej). Co zmodyfikować by w przypadku braku któregoś pliku pojawiła się informacja o braku tego pliku (właśnie w MAIN a nie po przeładowaniu strony) a nie wysyp informacji o błędzie. Coś ala 404. Za inne rozwiązania jak i za odpowiedź z góry wielkie dzięki.

<?
switch ($_GET['page'])
{
case 2: include("index1.php"); break;
case 3: include("index2.php"); break;
case 4: include("index3.php"); break;

case 1: default: include("index.php");

}
?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
jarrod
post
Post #2





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


nie wiem czy dobrze zrozumiałem:
  1. <?php
  2. case 2:
  3.   if(!file_exists("index3.php")) //sprawdzasz czy plik istnieje
  4.       header("Location: /error_404.html"); //przekierowujesz żądanie do innego miejsca
  5.   break;
  6. ?>
Go to the top of the page
+Quote Post
skowron-line
post
Post #3





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


A nie lepiej tak
  1. <?php
  2. $site_arr = array( 1=> 'home.php', 2=>'...' );
  3. if( isset( $_GET[ 'page' ] ))
  4. {
  5.    if( array_key_exists( $_GET[ 'page' ], $site_arr ))
  6.    {
  7.        $s = $site_arr[ $_GET[ 'page' ] ];
  8.        if( file_exists( $s ))
  9.        {
  10.            include_once( $s );
  11.        }
  12.    }
  13.    else
  14.    {
  15.        header( location:error404.php );
  16.    }
  17. }
  18. ?>

* pisane z palca i wymaga doszlifowania.

Ten post edytował skowron-line 6.08.2009, 11:58:54
Go to the top of the page
+Quote Post

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: 22.08.2025 - 21:02