HTTP přesměrování v PHP
Z MiS
				
				
				
				
																
				
				
								
				
| Obsah | 
Princip
- Tímto příkazem požádáme prohlížeč, aby místo této stránky zobrazil jinou.
- Uživatel nic nezjistí, jen bude vidět jinou URL adresu v adresním řádku.
Jak zapsat?
-  Používáme funkci header(...)v PHP:
header("Location: /index.php");
-  Funkce header(...)doplní do hlaviček protokou HTTP zadaný text.
- V tomto případě využíváme hlavičku Location:.
-  Předtím voláním funkce headernesmí být žádný HTML výstup!
Přesměrování do stejného adresáře
- Následující kód bude fungovat bez ohledu na umístění na serveru.
- Vždy odkáže na soubor index.php ve stejném adresáři, jako aktuální skript.
$host = $_SERVER['HTTP_HOST']; 
$uri  = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); 
$stranka = 'index.php'; 
header("Location: http://$host$uri/$stranka");
Výpis potvrzení
-  Pro výpis o úspěšně provedené akci si můžeme do URL adresy či do pole $_POSTpřidat další informace:
- Přesměrování v action-zpracuj.php
header("Location: /index.php?potvrd=ok");
die;
- Následné zobrazení hlášky v /index.php
<?php 
if ( 
   isset($_GET["potvrd"])
    &&
   $_GET["potvrd"] == "ok"
) {
  ?>
  <p style="background-color:green;">Zápis se povedl!</p>
  <?php  
}
?>
