Odpowiednie zapisywanie do pliku txt

Dział poświęcony programowaniu w każdym języku.

Odpowiednie zapisywanie do pliku txt

Postprzez 123 » 2005-07-10, 12:11:15

Witam

Nie wiem jak zrobić tak żeby :

Gdy jakiś człowiek wejdzie na stronę i zaloguje się za pierwszym razem wciągu dnia ,to do pliku tekstowego zapisywały by się 2 punkty (+2).I jeżeli wciągu tego samego dnia użytkownik wszedłby znowu, punkty nie byłyby przyznawane.Najlepiej żeby były cookiesy !!

Mam już taki kod ale chyba mi niedziała::
Kod: Zaznacz cały
<?
setcookie("visited", "1", time()+60*60*24);


if(file_exists("forum/login/$savelogin/exp.txt"))
{
$file=fopen("forum/login/$savelogin/exp.txt", "r");
$ile=fgets($file,"1000"); 
fclose($file);

if($visited!="1")

{
$ile=$ile+2;

$file=fopen("forum/login/$savelogin/exp.txt", "w");
fwrite($file, "$ile");
fclose($file);


}
}

?>
[/quote]
Avatar użytkownika
123
 

Re: Odpowiednie zapisywanie do pliku txt

Postprzez BlueMan » 2005-07-10, 12:23:29

Troszkę inaczej bym to zrobił. Bo po co obciażać procesor i pamieć serwera otwieraniem plików, jak właściwie możemy go nie użyć... ;) tą są minimalne zasoby systemowe, ale jak takihc uzytkowników będzie 1000 to serwer się zapycha niepotrzebnie :) Zresztą niepotrzebnie całkiem, bo potem znowu otwierasz ten sam plik !! Trochę optymalizacji kodu nie zaszkodzi ;)
A po drugie używaj zmiennych superglobalnych!

Kod: Zaznacz cały
<?
setcookie("visited", "1", time()+60*60*24);

if(!isset($_COOKIE['visited']))
{
if(file_exists("forum/login/$savelogin/exp.txt"))
{
$file=fopen("forum/login/$savelogin/exp.txt", "w+");
flock($file, LOCK_EX);
$ile=fgets($file,"1000");
$ile=$ile+2;
fwrite($file, "$ile");
flock($file, LOCK_UN);
fclose($file);
}
?>


Nie wiem, czy działa, bo pisałem na zywca ;) jakby były błędy to napisz tutaj i podaj treść błedu :D
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19105
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon

Re: Odpowiednie zapisywanie do pliku txt

Postprzez 123 » 2005-07-10, 12:35:14

Chyba wszystko jest dobrze ale, jak usunołem cookiesa (C/Documents and Settings/.../Cookies/nazwacookiesa.txt) i chciałem się zalogować to wartość tego pliku nie zmieniła się .Nie wiem ,może trzeba jakoś inaczej usuwać cookiesa.
Avatar użytkownika
123
 

Re: Odpowiednie zapisywanie do pliku txt

Postprzez BlueMan » 2005-07-10, 12:49:30

spróbuj inaczej :P Jak nie da się usunąć to stwórz nowe ciasteczki :) zmień nazwę cieasteczka w kodzie PHP i potestuj :D
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19105
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon

Re: Odpowiednie zapisywanie do pliku txt

Postprzez 123 » 2005-07-10, 12:55:27

Działa ale tylko poniekąd Zmieniłem nazwe cookiesa (w pliku była wartość 20) i zamiast 22 wyskoczyło mi 2 :? Ale dwa punkty dodaje !! :biglol:
Avatar użytkownika
123
 

Re: Odpowiednie zapisywanie do pliku txt

Postprzez BlueMan » 2005-07-10, 17:00:22

Kod: Zaznacz cały
<?
setcookie("visited", "1", time()+60*60*24);

if(!isset($_COOKIE['visited']))
{
if(file_exists("forum/login/$savelogin/exp.txt"))
{
$ile=file("exp.txt");
$ile[0]=str_replace("\r\n", "", $ile[0]);
$ilee=$ile[0]+2;
$file=fopen("exp.txt", "w");
flock($file, LOCK_EX);
fwrite($file, "$ilee");
flock($file, LOCK_UN);
fclose($file);
}
?>

Testowałem i działa :D
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19105
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon

Re: Odpowiednie zapisywanie do pliku txt

Postprzez 123 » 2005-07-10, 17:44:32

Dzięki :biglol: !!! Ale mam do ciebie jeszcze trzy pytania :

1.Czego trzeba używać zmiennych superglobalnych ??
2.Czy teraz musze załączyć kod o 12.00 w nocy żeby funkcja usuwała się o 12.00 w nocy następnego dnia ??
3.Czy cookies usuwają się nawet wtedy gdy komputer wyłończony ,czy poruwnuje daty i jak jest nie aktualny usuwa się , a może trzeba mieć komputer włączony ??

Z góry thx !!! :biglol:
Avatar użytkownika
123
 

Re: Odpowiednie zapisywanie do pliku txt

Postprzez BlueMan » 2005-07-10, 17:55:37

1. No to daj mi pomógł za poprzednie posty :D


123 napisał(a):1.Czego trzeba używać zmiennych superglobalnych

Jest to już standard i robi się tak w kwestii bezpieczeństwa skryptów PHP, aby nikt poprzez link nie przekazał dodatkowych wartości zmiennych do skryptu!
123 napisał(a):2.Czy teraz musze załączyć kod o 12.00 w nocy żeby funkcja usuwała się o 12.00 w nocy następnego dnia

Zgadza się. Czas ważności ciasteczka to właśnie dokładnie 24h.
123 napisał(a):3.Czy cookies usuwają się nawet wtedy gdy komputer wyłończony ,czy poruwnuje daty i jak jest nie aktualny usuwa się , a może trzeba mieć komputer włączony

Hmm.... wyobraź sobie komputer, który jest wyłaczony i jeszcze wykonuje operacje. Skoro nie ma prądu to nie może działać przecież. Nie wiem dokładnie jak to jest, czy przeglądarka ma wbudowany własny silnik i sprawdza co jakiś czas ważność ciasteczek, czy po prostu przy wywyłoniu konkrentego ciasteczka z konkretnej witryny sprawdza ważność tego ciasteczka.
Jedno jest pewne - usuwa je jak już wygasła jemu ważność.


Pamiętaj, że ciasteczka działają po Twojej stronie - po stronie Twojego komputera !!

Pomogłem ? :biglol:
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19105
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon

Re: Odpowiednie zapisywanie do pliku txt

Postprzez 123 » 2005-07-10, 19:33:50

Dzięki BlueMan jesteś naprawdę Wielki !! Dostałeś pomógł i to jeszcze jak!!
Avatar użytkownika
123
 

Re: Odpowiednie zapisywanie do pliku txt

Postprzez BlueMan » 2005-07-10, 20:06:40

Polecam się na przyszłość !!


Zapraszam częściej na forum, nie tylko jak masz jakiś problem z PHP - forum jest ogólnotematyczne =]
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19105
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon


  • Inne

Powrót do Programowanie

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 78 gości

cron