Autor Zpráva
d1m3s
Profil *
Dobrej,
mam hosting na profitux.cz a udelal jsem login skript, ktery normalne nastavi cookie po uspesnem loginu. Jenze po loginu mi to ohlasi:
Warning: Cannot modify header information - headers already sent by (output started at /home/ftpsite/plf.profitux.cz/klan/index.php:9) in /home/ftpsite/plf.profitux.cz/klan/login.php on line 1
prestoze v indexu zadnej header neposilam.
Nevi to co s tim pls?
Diky
WertriK
Profil *
na zacatek scriptu [resp na uplny zacatek] dej ob_start(); a na konec [uplny konec stranky] dej ob_end_flush();
DoubleThink
Profil *
Osobně bych hned nešel na komára s raketometem.

Ta chybová hláška říká, že v momentě, kdy chceš po PHP scriptu aby vložil do hlaviček cookie, jsou už hlavičky dávno odeslané - byl už vygenerován nějaký výstup, třeba konstruktem "echo". (Mimochodem každý serverem poslaný dokument obsahuje hlavičky).

Řešením problému je nastavovat cookies ještě před výstupem dat.
error414
Profil
muze se tu davat vlastni stranky kde je problem resen?

Pokud ne tak to smazte
jinak neco o odesilani hlavicek zde
http://www.error414.com/clanek_185.html
d1m3s
Profil *
jj, diky, udelal jsem to podle Wentrika a slo to, este se podivam na ten link.
DIKY
log53
Profil *
zdravim,
mam podobny problem.. php mi hlasi, ze hlavicky jiz byly odeslany, ovsem ja bych nerekl...

relevantni php kod - zacatek souboru titulka.php:

<?php

session_start();

require('inc/constants.php');
require('inc/functions.php');

header('Cache-Control: must-revalidate');
header('Expires: '.gmdate('D, d M Y H:i:s', time() - 1000).' GMT');

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<title><?php echo PAGE_TITLE; ?>Vítejte</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="../styles/atlantik_default.css" rel="stylesheet" type="text/css" />
<link rel="icon" type="image/gif" href="../graphics/images/favicon.gif" />
</head>
<body>
...

dostanu tyto hlasky:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\php\_ATLANTIK_\SITE\php\titulka.php:1) in D:\php\_ATLANTIK_\SITE\php\titulka.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\php\_ATLANTIK_\SITE\php\titulka.php:1) in D:\php\_ATLANTIK_\SITE\php\titulka.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at D:\php\_ATLANTIK_\SITE\php\titulka.php:1) in D:\php\_ATLANTIK_\SITE\php\titulka.php on line 8

Warning: Cannot modify header information - headers already sent by (output started at D:\php\_ATLANTIK_\SITE\php\titulka.php:1) in D:\php\_ATLANTIK_\SITE\php\titulka.php on line 9

bud neco prehlizim nebo si php dela, co chce.. toto se mi deje jen na localhostu (pouzivam balik php home edition 2.3.4), na webu (poskytovatel pipni.cz) se tato varovani jiz nezobrazi a vse funguje spravne (i prihlasovani do admin sekce, do niz se na localhostu nedostanu kvuli temto hlasenim).

prosim o radu ci pomoc, uz jsem z toho zoufaly.
dekuji
Leo
Profil
Soude podle kodovani UTF-8 mate na zacatku souboru tzv. identifikacni byty, v cem to vytvarite (myslim PHP)? Leo
WertriK
Profil *
kdesi jsem cetl ze pred odesilanim hlavicek apod. nesmi být ani mezera ;

<?php
session_start();

require('inc/constants.php');
require('inc/functions.php');

header('Cache-Control: must-revalidate');
header('Expires: '.gmdate('D, d M Y H:i:s', time() - 1000).' GMT');

?>

Ale nevim nevim, radim pouzij ob_start(); a ob_end_flush(); a mas po starostech, krome starosti s pipni :)
Leo
Profil
"radim pouzij ob_start(); a ob_end_flush()"

A to vam radil kdo pouzivat to jen kvuli zbastlenemu kodu? :-) Leo
log53
Profil *
popravde, o ob_start() a ob_end_flush() jsem se dozvedel az zde v tomto threadu..

nicmene, zrejme problem tkvi v onech identifikacnich bytech (vygooglin si k tomu detaily..), jinak me nic nenapada..

pisu to v macromedia dreamweaveru mx
log53
Profil *
mezerami to neni, zkousel jsem
log53
Profil *
vyreseno.. zmenil jsem ve vsech zdrojovych souborech kodovani na 8859-2 a je to v poradku

o tech identifikacnich bytech jsem nikdy neslysel a ani jsem nic kloudneho nevygooglil. jeste budu muset upravit kodovani pri nacitani z databaze a problem mam z krku. diky za podnetne tipy!
Leo
Profil
"o tech identifikacnich bytech jsem nikdy neslysel a ani jsem nic kloudneho nevygooglil. jeste budu muset upravit kodovani pri nacitani z databaze a problem mam z krku. diky za podnetne tipy!"

Zalezi jaky mate editor, jak jsem psal. Treba v PDPadu se daji vypnout, Leo
Dero
Profil
http://www.google.com/search?hs=5nc&hl=cs&client=firefox-a&rls=org.moz illa%3Acs-CZ%3Aofficial&q=utf+bom&btnG=Hledat&lr=lang_cs
Anonymní
Profil *
Uz jsem na to přišel setcookie() musíč dát úplně na začátek souboru takhle mi to blblo i na WZ.

<?setcookie("jmeno", "hodnota")?>
<html>
<head>
blabla...........
</head>
atd.........
Toto téma je uzamčeno. Odpověď nelze zaslat.