 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
beginner18
Data înscrierii: 30/Aug/2004
Mesaje: 757
Locație: Bucuresti
|
| Trimis: Sâm Oct 09, 2004 10:41 pm Titlul subiectului: .....contor.... |
|
|
Vreau sa fac un contor simplu, pentru a vedea de cate ori s-s intrat pe pagina respectiva.Ce trebuie sa faca el: deschide fisierul contor.txt, care contine numarul 0, iar la fiecare deschidere a paginii, mai aduna o unitate. Insa nu gasesc eroarea la mine:
$file=fopen("contor.txt","a+");
$fr=fread($file,filesize("contor.txt"));
$i=$fr;
$i=$i+1;
ereg_replace($fr,$i,$file); //aici ar trebui sa inlocuiasca vechiul numar $fr cu noul numar $i al paginii $file
un alt contor care l-am facut si merge este:
$file=fopen("admin\contor.txt","r+");
$fr=fread($file,filesize("admin\contor.txt"));
$i=$fr;
if(fopen("admin\contor.txt","r+")){
$i=$i+1;}
fwrite($file,"0"); //acesta adauga cate un caracter la fiecare deschidere a paginii, iar, ca sa vad de cate ori s-qa deschis pagina, cu filesize($pagina), aflu. Insa imi trebuie sa vad care e eroarea la primul.
Va multumesc anticipat! |
|
| Sus |
|
AEROStyle
Data înscrierii: 27/Mar/2004
Mesaje: 29
Locație: IT Universe
|
| Trimis: Sâm Oct 09, 2004 11:18 pm Titlul subiectului: |
|
|
Eu cred ca te complici singur.
Un contor folosind fisiere text :
<?php
$fh = fopen("contor.txt", "r");
$fr = fread("contor.txt");
echo "Site-ul a fost vizitat de ", $fr, " ori !";
fclose($fh);
$fh = fopen("contor.txt", "w");
fwrite($fh, ($fr+1));
fclose($fh);
?>
E cel mai simplu contor bazat pe fisiere text, dupa parerea mea :!: |
|
| Sus |
|
beginner18
Data înscrierii: 30/Aug/2004
Mesaje: 757
Locație: Bucuresti
|
| Trimis: Mar Oct 12, 2004 8:12 pm Titlul subiectului: |
|
|
| aveam si eu asa, cu toate ca nu e chiar asa bun, ca dc intru pe pagina o data, si dau 10 refresh-uri, cica-s 10 vizitatori..oricum, mai am un cod sursa..sper sa ma descurc cu el. merci oricum..imi zici dc-l vrei dupa ce-l fac si eu...merci oricum pt tp pierdut |
|
| Sus |
|
Tudy
Data înscrierii: 22/Sep/2004
Mesaje: 482
Locație: Cluj-Napoca, Romania
|
| Trimis: Joi Noi 04, 2004 4:30 pm Titlul subiectului: |
|
|
AEROStyle, si in contor.txt ce trebuie sa scriu ?
Sau un script pentru contor, fara fisier txt, nu stii sa-mi zici ? Nimeni nu stie ? Merci. |
|
| Sus |
|
aurelian
Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti
|
| Trimis: Vin Noi 26, 2004 11:16 am Titlul subiectului: |
|
|
Cu toate ca nu mai e de actualitate si probabil s-a rezolvat, totusi pastez si eu un cod aici poate mai are cineva nevoie de el :)
an style="color: #000000"><?php $filename = "counter.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
if(!isset($_COOKIE["MyCounterCookie"])){
setcookie("MyCounterCookie", 'visited', time()+(3600*24));
if (is_writable($filename)) {
if (!$handle = fopen($filename, 'w')) {
echo "Cannot open file ($filename)";
exit;
}
$contents = $contents+1;
if (fwrite($handle, $contents) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
echo "Success, wrote (" . $contents . ") to file ($filename)";
fclose($handle);
} else {
echo "The file $filename is not writable";
}
echo "rec...<br />";
}
else {
echo "not rec...<br />";
}
echo "Site-ul a fost vizitat de ", $contents, " ori !";
Este bazat pe cokizuri si pe un fisier text counter.txt in care la inceput trebe sa scrii cifra 1 si mai trebe ca serveru` web sa aibe drepturi de scriere asupra fisierului asta (poate chmod 777 counter.txt sau chown apache:apache counter.txt)
Despre setcookie: http://ro2.php.net/manual/ro/function.setcookie.php
Despre fwrite: http://ro2.php.net/manual/ro/function.fwrite.php
Despre fread: http://ro2.php.net/manual/ro/function.fread.php |
|
| Sus |
|
Tudy
Data înscrierii: 22/Sep/2004
Mesaje: 482
Locație: Cluj-Napoca, Romania
|
| Trimis: Vin Noi 26, 2004 3:49 pm Titlul subiectului: |
|
|
Merci.
Apropo, nu imi dai si niste detalii despre cookie-uri ? Ca ... nush exact ce is, la ce se folosesc si ... altele. Merci, :D |
|
| Sus |
|
aurelian
Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti
|
| Trimis: Lun Noi 29, 2004 10:39 am Titlul subiectului: |
|
|
Pai vezi linkul despre functia setcookie()
http://ro2.php.net/manual/ro/function.setcookie.php |
|
| Sus |
|
Tudy
Data înscrierii: 22/Sep/2004
Mesaje: 482
Locație: Cluj-Napoca, Romania
|
| Trimis: Lun Noi 29, 2004 6:55 pm Titlul subiectului: |
|
|
| Merci ... :) |
|
| Sus |
|
beginner18
Data înscrierii: 30/Aug/2004
Mesaje: 757
Locație: Bucuresti
|
| Trimis: Mar Noi 30, 2004 5:53 pm Titlul subiectului: o problema legata de cookie-uri |
|
|
nu mai inteleg nimic...intr-un fisier .php pun codul:
setcookie("contorcookie", 'visited', time()+(3600*24)); si imi da eraore de genu asta:
Warning: Cannot modify header information - headers already sent by (output started at E:\server\Apache2\htdocs\homedesign\index.php:9) in E:\server\Apache2\htdocs\homedesign\index.php on line 329
altadata imi rula bine! ce naiba are?!!!! |
|
| Sus |
|
beginner18
Data înscrierii: 30/Aug/2004
Mesaje: 757
Locație: Bucuresti
|
| Trimis: Mar Noi 30, 2004 7:36 pm Titlul subiectului: probleme peste probleme.. |
|
|
care este problema? am incercat sa fac ca aurelian un contor si nu iese de-al naibii..chiar si codul lui, cand mergea, cand nu mergea! uitati ce a iesit, si daca ghasiti problema...va rog sa o postati:
<?
$filename = "contor.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
foreach ($HTTP_COOKIE_VARS as $nume => $valoare);
if($nume != "cookie_fabbydesign"){
if($valoare != "contor"){
setcookie("cookie_fabbydesign","contor",time()+1);
$fileopen = fopen($filename, "w");
$contents=$contents+1;
fwrite($fileopen,$contents);
fclose($fileopen);
}
}
echo $contents;
?> |
|
| Sus |
|
arond
Data înscrierii: 11/Mar/2004
Mesaje: 580
Locație: 127.0.0.1
|
| Trimis: Mar Noi 30, 2004 9:12 pm Titlul subiectului: |
|
|
Mai cititi si documentatia, baieti, din cand in cand.
Citeste aici http://www.phpromania.net/forum/viewtopic.php?p=7654#7654.
Numa' bune. |
|
| Sus |
|
beginner18
Data înscrierii: 30/Aug/2004
Mesaje: 757
Locație: Bucuresti
|
| Trimis: Mie Dec 01, 2004 1:05 am Titlul subiectului: mulumesc arond |
|
|
| insa un raspuns in legatura cu eroarea codului postat imi puteti da? |
|
| Sus |
|
mihnea sim
Data înscrierii: 20/Aug/2004
Mesaje: 149
Locație: Alexandria
|
| Trimis: Mie Dec 01, 2004 7:23 am Titlul subiectului: |
|
|
| Vreti neaparat sa scrieti nr de useri in fisier? Nu puteti sa il salvati in baza de date? Oricum, pana va rezlovati problema, puteti sa va faceti aici un cont sau la statistici.ro[/url] |
|
| Sus |
|
beginner18
Data înscrierii: 30/Aug/2004
Mesaje: 757
Locație: Bucuresti
|
| Trimis: Mie Dec 01, 2004 9:57 pm Titlul subiectului: |
|
|
| stiu ca sunt contorizatori..asa sunt si generatoare de site-uri forumuri etc...deci nu mai e nevoie sa fac nimic, insa astea le fac ca sa invat eu...deci, va rog, daca ati gasit buba, va rog sa imi spuneti care e... |
|
| Sus |
|
aurelian
Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti
|
| Trimis: Joi Dec 02, 2004 11:12 am Titlul subiectului: |
|
|
Ideea este (daca iti e lene sa citesti ce a scris arond sau sa cauti in forum, sau pe google eroarea ta) ca inainte de setcookie tu nu trebuie sa ai nici un output in browser (adica echo sau taguri html),
deci cel mai bine e ca la inceputul scriptului tau sa pui contorul, apoi sa incepi restul de pagina in mod normal (cu taguri <html> sau orice alt output trimis catre browser)
Este acelasi lucru ca la session_start().
Eu am postat codul ala aici, pentru ca sunt cam uituc si sigur l-as fi pierdut daca il salvam cine stie pe unde la mine pe calculator. Probabil ca o sa mai am si eu nevoie de el :D
Explicatia data de arond in postul http://www.phpromania.net/forum/viewtopic.php?p=7654#7654 este mai mult decat suficienta, dar se pare ca nici nu ai dat click pe linkul indicat de el |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|