Autor Zpráva
Svatik
Profil *
Zdravím, existuje nějaká funkce v php, která přesměruje ve "veliké rychlosti" jako header?
Vim, že před headerem, nesmí být žádný textový výstup, proto hledám něco podobného v php, děkuji.
johnl
Profil
V PHP ne, jen pomocí javascriptu nebo HTML..
o_O
Profil
Můžete využít funkce ob_*, tím si výstup můžete uložit do proměnné a tu pak vypisovat. PHP se provede, výstup se nezobrazí. Má to i další výhody jako například možnost využití unikátního titulku na každé podstránce - budete jí includovat před výpisem hlavičky.
Svatik
Profil *
o_O:
Takže mohl bych vás poprosit o vysvětlení tohoto scriptu?
<?php
// a.php (this file should never display anything)
ob_start();
include('b.php');
ob_end_clean();
?>

<?php
// b.php
print "b";
die();
?>


Jak se ten b.php dostal do "proměnné" b? Děkuji
o_O
Profil
Chybí Vám tam ob_get_contents().

Používám toto. V $pagecontent máte celý obsah (pod)stránky.
<?php
ob_start();
if(isset($_GET['page'])){
  if(preg_match('~^[a-z\-]{1,}$~',$_GET['page'])){
    if(file_exists('pages/'.$_GET['page'].'.php')){
      include 'pages/'.$_GET['page'].'.php';
    }else {
      include 'pages/home.php';
    }
  }else {
    include 'pages/home.php';
  }
}else {
  include 'pages/home.php';
}
$pagecontent=ob_get_contents();
ob_end_clean();
?>
panther
Profil
Svatik:
téměř, ne-li vždy, jde použít header, jen ho dáš na začátek souboru a ne do jedné hromady s vypisovaným HTML (které stejně v PHP nemá co dělat).

Bez konkrétní ukázky samozřejmě nejde poradit konkrétně.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0