Prikaz jedne poruke
Stara 18.7.2011, 2:45   #2
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Automatsko slanje e-maila ako je određeni uslov zadovoljen

Ne možeš tako nešto da uradiš samo pomoću php-a (tj. mislim da ne može ) zato što se php izvršava kada korisnik poseti stranu. Imaš jednu soluciju, a to je da kad se requestuje neka strana, proveriš koliko je prošlo vremena od poslednje provere polja i ako je prošao određen period vremena, proveriš ih sve i pošalješ mailove, nešto na ovaj fazon:

PHP kod:
// mozes da stavis u poseban include na pocetku stranice, ali odradicu cisto ovako
//include 'proveri_polja.php'

define("TABLE_CHECK_PERIOD"60*60*10); // 60 sekundi * 60 minuta * 10 casova

//$result = mysql_query("SELECT * FROM table_check_config");
// uglavnom ovde pronadjes kada si poslednji put uradio check

if ($lastCheckTime time() - TABLE_CHECK_PERIOD)
{
    
// posaljes mailove

    // updateujes poslednje vreme
    
$time time();
    
mysql_query("UPDATE table_check_config SET lastcheck = $time");

Jedan problem sa ovim je to što ako hoćeš da proveravaš na svakih 10 sati, a niko ti ne poseti sajt 2 dana, provera se neće izvršiti.

Ako imaš pristup shell-u možeš da iskoristiš cron.
Imaš dole jedan primer, uglavnom uradio bi ovako nešto (zavisi kako je php instaliran, path će biti drugačiji, recimo ako imas lampp onda je default /opt/lampp/bin/php):

Kod:
0 */2 * * * /usr/local/bin/php -q /home/username/provera.php
*/2 znači da će se taj php file izvršiti na svaka 2 sata.
EclipsE je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku EclipsE na korisnoj poruci:
dusandevic (18.7.2011)