Autor Zpráva
baldur
Profil *
Ahoj,
vím že už se to tu řešilo, ale zkusil jsem všechny řešení třeba odsud: http://diskuse.jakpsatweb.cz/index.php?action=vthread&topic=22907&forum=9&page=-1 ale nic nepomohlo...
Mám na webu přihlášení, které bere informace o uživateli z databáze a poté nastaví cookie která informuje o jeho přhlášení - divné je, že v jednom podobném webu jsem to použil stejně a fungovalo to a ted mi to hází chybu:
Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\eror\index.php:7) in c:\apache\htdocs\eror\php\prihlaseni2.php on line 14

řádka 7 v index.php : <script defer type="text/javascript" src="./js/pngfix.js"></script> používám tenhle skript ke správnému zprůhlednění png obrázků.

a řádka 14 v prihlaseni2.php je: setcookie("uzivatel", $nick, time() + 60*60*24*365);

ten soubor prihlaseni2.php načítám do indexu pomocí require, tak aby to bylo dynamické pro všechny ostatní stránky.

Předem díky za pomoc!
Alphard
Profil
baldur:
Na jakém řádku je ten require?

Nejlepší bude zkopírovat sem index.php od začátku po ten require a prihlaseni2.php po setcookie.
Joker
Profil
baldur
řádka 7 v index.php : <script defer type="text/javascript" src="./js/pngfix.js"></script>
...odešle prohlížeči ten uvedený kód, takže se už nedají posílat hlavičky.

To se tu řeší pořád. Hlavičky (včetně třeba session_start a cookies) se musejí posílat předtím, než se prohlížeči odešle jakýkoliv výstup- včetně mezery, prázdného řádku nebo identifikačních bajtů UTF.
AM_
Profil
Jednoduše řečeno kód bys měl stavět tak, aby výstup generoval až úplně nakonec. Říkám "bys měl", protože to jde obejít třeba pomocí bufferování výstupu, ale není to nejčistší řešení.
baldur
Profil *
Ale jak mám teda udělat funkci pro přihlášení? - já to tady dělám tak, že to mám v jiné stránce(to přihlášení) a to pomocí require načítám do indexu. Ale nenapadá mě jinej způsob:(
Alphard
Profil
baldur:
Přihlášení by mohlo být v kódu první. Před jakýmkoliv výstupem.
Druhou možností jsou bufferovací funkce, ale to je přístup s dělem na komára.
baldur
Profil *
už jsem to zkoušel dát před všechno do hlavičky a uzavřít do if, aby se to přihlásilo až v té chvíli kdy zadá uživatel svoje udaje, ale vyhodilo mi to stejnou chybu. zkusím se podívat na ty bufferovací funkce, i když to není nejlepší, tak aspon že to bude fungovat :)
Alphard
Profil
baldur:
Proto jsem chtěl, abyste sem nakopíroval ten kód.

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: