Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z zapisem cookies...
KIDek
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 18.08.2003
Skąd: Słońce

Ostrzeżenie: (0%)
-----


Witam.

Mam pewien problem, otoz mam problem z zapisaniem cookie. Korzystam z nastepujacego kodu:

[php:1:6d91d37611]<?php
setcookie("phpPCountVisited", "1", time()+3600*3);
?>[/php:1:6d91d37611]

... ktory teoretycznie powinien zapisac na komputerze klienta ciacho ze zdefiniowana informacja. Problem w tym, ze przy probie odczytania takiego ciastka:

[php:1:6d91d37611]<?php
echo ($phpPCountVisited);
?>[/php:1:6d91d37611]

skrypt nie wyswietla nic, nawet zapisanej jedynki, przez co moj odporny na odswiezanie licznik odwiedzin nalicza mimo wszystko kazde odswiezenie strony.

Chce zaznaczyc, iz skrypt testuje na serwerze Apache 2 z zainstalowanym php 4.3.2. Skrypt probuje sprawdzic po wpisaniu do internet explorera (wersja z windowsa 2003 enterprise, chyba 6.0) http://127.0.0.1/index.php . Nie probowalem tego na innych komputerach. Prosze o pomoc, gdzie wlasciwie moze tkwic problem?

Z gory dziekuje.
Go to the top of the page
+Quote Post
harek
post
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 5.08.2003

Ostrzeżenie: (0%)
-----


Bo robisz to tak wysyłasz cokie a puźniej :
[php:1:9e30d99b32]<?php
if($phpPCountVisited=="1"){
exit;
//nie zalicza odwiedziny i kończy skrypt
}
else{
setcookie("phpPCountVisited", "1", time()+3600*3);
$file=fopen("licznik.txt", "r");
$ile= fread ($file, 9999);
fclose($file);

$ile++;

$file1=fopen("licznik.txt", "r+");
fputs($file, $ile);
fclose($file1);
echo"Strone odwiedziło już $ile osób/osoby";
}
ob_end_flush();
?>[/php:1:9e30d99b32]

Powino działać i pamiętaj że cookie wysyłąmy zawsze przed nagłówkiem więc uzyj bufrowania wyjścia
czyli na samym początku strony daj to [php:1:9e30d99b32]<?php
ob_start();
?>[/php:1:9e30d99b32]
a na końcu skryptu dajesz to [php:1:9e30d99b32]<?php
ob_end_flush();
?>[/php:1:9e30d99b32] ale ja już to zrobiłęm za ciebie!
Go to the top of the page
+Quote Post
KIDek
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 18.08.2003
Skąd: Słońce

Ostrzeżenie: (0%)
-----


Hmm, mimo wszystko nie dziala. To co napisales fakt - pomogloby mi - ale juz nie raz pisalem ten skrypt i za kazdym razem dzialal, wiec mysle ze jest tutaj wina konfiguracji servera. Robie to dokladnie tak:

Przed znacznikiem <head> wstawiam:

[php:1:232214a278]<?php
setcookie("phpPCountVisited", "1", time()+3600*3);
?>[/php:1:232214a278]

a potem w zrodle pliku, do wyswietlenia ilosci odwiedzin korzystam z tego:

[php:1:232214a278]<?php
if(file_exists("data/data_statistics/data_statistics_counter_persons.dat"))
{
$phpPCountFile=fopen("data/data_statistics/data_statistics_counter_persons.dat", "r");
flock($phpPCountFile, 1);

$phpPCountValue=fgets($phpPCountFile, 100);

flock($phpPCountFile, 3);
fclose($phpPCountFile);

if($phpPCountVisited!="1")
{
$phpPCountValue++;
}
}
else
{
$phpPCountValue=1;
}

$phpPCountFile=fopen("data/data_statistics/data_statistics_counter_persons.dat", "w");
flock($phpPCountFile, 2);

fwrite($phpPCountFile, $phpPCountValue);

flock($phpPCountFile, 3);
fclose($phpPCountFile);

echo($phpPCountValue);
?>[/php:1:232214a278]

Wiec wydaje mi sie, ze robie wszystko dobrze. A jednak... nie dziala...
Go to the top of the page
+Quote Post
spenalzo
post
Post #4





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Ciastka odczytuje sie tak:
[php:1:260e2040c7]<?php
$_COOKIE["nazwa"];
// lub w starszych werjsach
$HTTP_COOKIE_VARS["nazwa"];
?>[/php:1:260e2040c7]
Go to the top of the page
+Quote Post
KIDek
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 18.08.2003
Skąd: Słońce

Ostrzeżenie: (0%)
-----


Ehh, a takie to proste (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) )) Bardzo dziekuje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
cahe
post
Post #6





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 22.03.2003

Ostrzeżenie: (0%)
-----


Jeśli chcesz po staremu ustaw w php.ini RegisterGlobals na On - ale nie polecam ;]
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 17:22