Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: cookies
Forum PHP.pl > Forum > PHP
weezy
witam.
mam maly problemik z licznikiem no bo chce go przyblokowac zeby byl odporny na refresh. i we wszystkich kursach napisane jest zeby wstawic setcookies() przed tag <html> i jak wstawie to mi wyskakuje blad

Warning: Cannot add header information - headers already sent by (output started at c:foxservwwwweezyindex.php:10) in c:foxservwwwweezylicznik.php on line 6

i nie wiem co zrobic...
tom00
setcookie() nalezy wywolac przed znacznikiem <html>
shw
Ciasteczka trzeba ustawiac zanim wystapi jakikolwiek "print" (czy co kolwiek bedzie mialo wyswietlic sie na ekranie)... czyli walnij setcookie() na samym poczatku pliku
stefan609
Witam
Jezeli ten plik licznik jest includowany to zobacz czy przed wywolaniem go z poprzedniego scriptu nie było żadnych printów echów i t d .... mysle ze dokladnie taki licznik includowales jak nie to udostepnij na forum i sie jakos sprawdzi biggrin.gif
weezy
[quote]Witam
Jezeli ten plik licznik jest includowany

hmmm no wlasnie licznik jest includowany i jest nalip od dnia tego bylo $licznik wizyt...
steru
[quote][quote]Witam
Jezeli ten plik licznik jest includowany

hmmm no wlasnie licznik jest includowany i jest nalip od dnia tego bylo $licznik wizyt...[/quote]
no to go zaincluduj na poczatku pliku - przeciez zmienna $licznik bedzie dostepna w calym dokumencie, a tam gdzie ma byc ten tekscik to napisz jestes $licznik gostkiem.
weezy
ok wielkie dzieki steru, jak przyjde do domu to pokombinuje...
shw
Nie ma za co tongue.gif
karaluch
jesli w IE 6.0 dalem aby byl komunikat kiedy pojawia sie cookie to raczej jak uruchamiam stronke w locahoscie to tez taki komunikat tez powinien byc :idea:

czy standartowo cookie sa wlaczone w FoxSerwerze :?:

te pytania dlatego ze mam problemy z bardzo prostymi cookie, nawet skrypt prtzepisany ze ksiazki tez nie dzila, wiem ze cookie musi byc wstawione przed <html> ale jak pozniej mam sie do niego odwolac :?:

Kod
<?php if ($HTTP_COOKIE_VARS['login_sit']=="") {setcookie ('login_sit',"show");} ?>


... i w daleszej czesci strony

Kod
<?php

if ($login_sit=="show") {

include("web/include/login.inc");}

setcookie ('login_sit', "hide",);

?>


dlaczego takie cos nie dziala, wczesniej robilem cookie przez jave_s i nie bylo takich problemow biggrin.gif
GeoS
Kod
<?php

if ($HTTP_COOKIE_VARS['login_sit']=="show") {

include("web/include/login.inc");}

setcookie ('login_sit', "hide",);

?>
karaluch
przegldalem manuala i nawet na probe przepisalem kod do prawie pustego pliku i taki sam komuniakt o bledzie, oto kod pliku:
Kod
<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">

<title>roboczy</title>

</head>

<body>



<?php

ob_start();

setcookie ("cookiename", "cookiedata");

ob_end_flush();

?>



</body>

</html>


i komunikat:
Cytat
Warning: Cannot add header information - headers already sent by (output started at c:foxservapacheusersroboczyindex.php:4) in c:foxservapacheusersroboczyindex.php on line 16


po prostu tegi nie rozumiem, dlaczego nawet gotowy skrypt nie dziala, moze ktos mi bardzo wolno to wszystko wytlumaczyc !
GeoS
Cytat
przegldalem manuala i nawet na probe przepisalem kod do prawie pustego pliku i taki sam komuniakt o bledzie, oto kod pliku:
Kod
<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">

<title>roboczy</title>

</head>

<body>



<?php

ob_start();

setcookie ("cookiename", "cookiedata");

ob_end_flush();

?>



</body>

</html>


i komunikat:
Cytat
Warning: Cannot add header information - headers already sent by (output started at c:foxservapacheusersroboczyindex.php:4) in c:foxservapacheusersroboczyindex.php on line 16


po prostu tegi nie rozumiem, dlaczego nawet gotowy skrypt nie dziala, moze ktos mi bardzo wolno to wszystko wytlumaczyc !


Najwyrazniej nie doczytales. Nie mozna przesylac naglowku po zainicjowaniu przekazywania danych przez aplikacje. Reasumujac, nie mozna nic wyrzucac na wyjscie przed zakonczeniem operacji na naglowkach (chyba, ze sobie inaczej ustawisz w konfiguracji php).

Kod powinien wygladac tak:

Kod
<?php

setcookie ("cookiename", "cookiedata");

?>

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">

<title>roboczy</title>

</head>

<body>



</body>

</html>


To powinno zadzialac biggrin.gif
karaluch
wszystko dobrze, wiem ze musze w ten spossob je inicjowac ale jak mam po nacisnieciu jakiebks buttonu zmienic wartosc cookie
Mac
Cytat
wszystko dobrze, wiem ze musze w ten spossob je inicjowac ale jak mam po nacisnieciu jakiebks buttonu zmienic wartosc cookie

Po naciśnięciu buttonu (w znaczniku <form></form>) przechodzi (wysyła dane do strony "ustawionej" w znaczniku <form></form>) i w tym pliku dajesz taki kod:
Kod
<?

setcookie(nazwa,nowa_wartosc_cookie,waznosc_cookie,domena);

?>

smile.gif
smile.gif
GeoS
I dajesz jeszcze:
Kod
header("Location: strona_do_wyswietlenia_po_ustawieniu_cookie.php");

zeby od razu zyskac dostep do danych przed chwila zapisanych do cookie.
Azaghal
co do tych bledow przy cookies to jezeli np przed wstawieniem cookies includujesz jakis plik, to musisz uwazac zeby przed znacznikami skryptu <?php ?> nie bylo zadnych znakow ( nawet spacji )
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.