Autor Zpráva
BunnyBugs6
Profil *
Zdravím, mám zase problém, kterému nerozumím, prosím o pomoc.
Mám vytvořenu přihlašovací stránku, kde mám za určitých podmínek nastaveno přesměrování. Když tuto stránku použiju samostatně na serveru, tak funguje bez problémů, ale ve chvíli, kdy jí vložim pomocí include do index stránky, tak už nefunguje, ale při testování na lokálním disku ano.
Nevíte někdo, kde může být problém? Server využívám na czechia.com.
Radek9
Profil
BunnyBugs6:
Nejčastější problém bývá, že je nad headerem výpis. Bez konrétního kódu a lepšího popisu problému (ideálně chyby, kterou to vypisuje) ti ale moc nepomůžeme.
BunnyBugs6
Profil *
Už jsem toho pročetl dost, ale jsem z toho spíš zmaten, než chytřejší :(
A vypisovat sem celý kód stránek, to asi není nejlepší nápad.
Spíše jsem nepochopil, proč na lokálním disku to funguje a na ostrém serveru ne. Kdyby to bylo špatně, tak to nefunguje ani na lokálu.
juriad
Profil
Může se lišit nastavení serveru o různé výstupní filtry a bufferování. Ty třeba můžeš mít nějaký buffer, tedy header se zvládne odeslat, protože výstup stránky je ještě v mezipaměti, ale na serveru se stránka odesílá okamžitě.
Podívej se, zda před zavoláním funkce header nevypisuješ na výstup nějaký znak (písmeno, mezeru, odřádkování, BOM).
Zjistíš o snadno tak, že místo volání header si vypíšeš něco, například zavináč @. Následně se podíváš na zdrojový kód stránky, zda před zavináčem něco není.
BunnyBugs6
Profil *
juriad:
Chápu-li to tedy dobře, tak přihlášení si nemohu vložit do pravého menu, i když je umístěné úplně nahoře, protože při výstupu mi to vždy načte hlavní obsah stránky?
anonymníí
Profil *
BunnyBugs6:
HTML formulář vpravo samozřejmě měj, ale zpracování (PHP) měj nad vším, na začátku stránku. Není nezbytné, aby bylo v půlce stránky.
BunnyBugs6
Profil *
Nevím proč, ale stále mi to na začátku stránky dělá odřádkování. Je tam na každé stránce <br /> nevíte někdo proč?, to bude totiž asi celý problém.


Tak jsem zjistil, že ten řádek se mi tam vkládá někde v tomhle kódu:

<?php
              $show="".$_GET["show"];
                if (! is_null($show)) {
                  if (File_Exists ($show.".php")) {
                    include $show.".php";
                  }
                  elseif  (File_Exists ($show.".php")){
                    include $show.".php";
                  }
                    else {
                      include "test-mysql.php";
                    }
                }
            ?>

Jak z toho ten řádek vymažu?, nějak nemohu pochopit, kde se tam bere :(
anonymníí
Profil *
BunnyBugs6:
Tak jsem zjistil, že ten řádek se mi tam vkládá někde v tomhle kódu:
... Takže bude v některém z těch includovaných souborů, v prvním, ve kterém je nějaké HTML. Tedy pravděpodobně v tom na 4. řádku, těžko říct, jak se jmenuje.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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