Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z zapisem cookies...
KIDek
post 18.08.2003, 13:22:31
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 18.08.2003, 13:35:41
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 18.08.2003, 13:46:34
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 18.08.2003, 19:38:12
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 19.08.2003, 23:25:47
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 winksmiley.jpg)) Bardzo dziekuje smile.gif
Go to the top of the page
+Quote Post
cahe
post 20.08.2003, 07:51:46
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.06.2025 - 08:54