Autor Zpráva
amatérka
Profil *
Zdravím =)
Potřebovala bych pomoct s počítadlem. Mám 4 soubory které jsem stáhla z něaké stránky, počítadlo funguje skvěle. Ale potřebovala bych aby se to počítalo jen jednou denně a aby se to po něakém čase vynulovalo, třeba 6 hodin. Prosím prosím poraďte někdo, co mám kam přidat nebo co upravit. V PHP jsem docela začátečník, a děkuju všem co by byli ochotní mi něak poradit.

Soubor klik.php:
<a href="counter.php?redir=kolik.php">KLIKNI</a>


Soubor kolik.php :
<?php
readfile("pocet.txt");
?>


Soubor counter.php :
<?
$redir=$_GET['redir'];
if(isset($redir)){ //musí mít parametr, cílovou adresu
  $redir=htmlspecialchars($redir);
  
  if(file_exists("pocet.txt")){$pocet=file_get_contents("pocet.txt");} //načte dosavadní počet kliků, jinak 0
  else{$pocet=0;}
  $pocet++;
  $soubor=fopen("pocet.txt",'w');
  fwrite($soubor,$pocet); //zapíše počet kliků
  fclose($soubor);
  header("location:$redir"); //přesměruje na cílovou adresu
}
?>


Jsem vděčná za jakoukoliv odpověď!!! =)
Keeehi
Profil
amatérka:
V tomto scriptu to nejde. Ten script si nepamatuje, kdo ho spustil, takže nemůže určit, zda ho ten určitý člověk spustil před minutou, dvěma, dnem, nebo nikdy. Ani nerozlišuje jednotlivé lidi. Pouze počítá počet kliknutí.

Zde je například udělané počítadlo, které "rozlišuje" lidi podle IP adresy. Problém je,že používá k ukládání údajů databázi. Není to však nic složitého. Tak jako tak, budeš si muset něco nastudovat.
amatérka
Profil *
díky moc =)
Jojo
Profil *
Moderátor Davex: Přesunuto z duplicitního vlákna.

Díky za odpověď =) jak to ale udělat když nezáleží na IP? prostě kdo bude dřív ten dřív klikne a další klik se bude počítat až za něaký ten čas? =)
Keeehi
Profil
Moderátor Davex: Přesunuto z duplicitního vlákna.

Jojo:
Pokud chceš mazat záznamy starší jak 6 hodin, tak to nepůjde. To by si ten script musel ukládat úudaje o čase. Pokud chceš v určitý čas celý soubor vymazat, pak použij cron. Cron bude spouštět script ve kterém bude <?php unlink("pocet.txt");?>.
Jojo
Profil *
Keehi: prosím prosím napíšeš mi kam mám dát ten cron?
Keeehi
Profil
Nejdříve si zjisti, co to cron je.
Pak záleží na hostingu, jestli máte (někde v administraci) nějaké rozhraní pro nastavování těch úloh. Každý hosting to má jinak udělané, proto se nadá konkrétně poradit.
Jojo
Profil *
mám to na Endoře. Tam se dá i cron nastavit, cron jsem hodila do cron.php na web, pak jsem tam dala aby se to spouštělo v 0:00, ale hlásí mi to že nebyla zadaná platná cesta k souboru, nevím proč :/ mám něco špatně?
Keeehi
Profil
http://podpora.endora.cz/viewtopic.php?f=14&t=915&start=0

=> Zkuste zadat tu cestu bez http.
Jojo
Profil *
Jo funguje to!!! Super fakt díky moooc =)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0