Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Viikon pähkinä

Tomix [07.04.2003 20:58:23]

#

Termos!

Olisi taas tällainen itselleni hieman liian haastava php hommeli mielessä. Eli nyt tarvitsisi saada aina jokaikisenä tasatuntina (11:00, 12:00, 13:00...) esim. muuttujaan $summa lisättyä +500. Tiedän, että php ei osaa käynnistyä itsestään, tiedän myös, että c++:saa on turha miettiäkkään koska en omista omaa palvelinta. Aikani mietittyä ongelmaa keksin, että eikö sitä voisi hoitaa niin, että aina kun joku rekisteröitynyt jäsen kirjautuu sivuille ja painaa submit nappulaa, niin php skripti osaisi katsoa koska edellisen kerran kyseinen henkilö on painanut submit nappulaa, jos aikaa on kulunut yli tunti niin lisätään +500 $summa muuttujaan aina jokaista kulunutta tuntia kohden.

Eli skriptin tarvitsisi osata tallentaa $tunnus.gxy tiedostoon $aika muuttujaan aika kun submit nappulaa on viimeksi painettu ja lisätä aina se +500 $summa muuttujaan jokaista kulunutta tuntia kohden.

Voisikohan sen toteuttaa tuolla periaatteella? Mielestäni se olisi aivan mahdollista, eikö? Jos joku osaisi auttaa niin olisin erittäin kiitollinen : )

Teme [07.04.2003 21:17:34]

#

<?php
$tiedosto = "aika.txt";
$file = file($tiedosto);
$aika = time("H:m");
$summa = trim($file[0]);

if ($aika == "00:00")
{
   $summa =  $summa + 500;
}
elseif ($aika == "01:00")
{
   $summa =  $summa + 500;
}
elseif ($aika == "02:00")
{
   $summa =  $summa + 500;
}
// JNE... Tee loput itse.

$kahva = fopen($tiedosto, "w"); //Kirjoitetaan uusi arvo
fputs($kahva, $summa);
fclose($kahva);

?>

Tästä voi puuttua jotain... En jaksanut edes yrittää sitä käyttäjän viimeistä aikaa ja sitten plussattaisiin 500. Tekisin sen itse kekseillä.

Edit: Koodissa virhe

Tomix [08.04.2003 10:04:33]

#

Hmm, joo-o, katsellaan miten tuota voisi soveltaa itse koodiin, saattaapi mennä aika mutkikkaaksi... o_O

arcatan [08.04.2003 14:22:34]

#

No jos tuo timestamp toimii niin kuin luulen, niin tämä näyttäisi toimivan. (Mitä kokeilin tietokoneen kelloa säätää)

<?php
	$fname  = "$tunnus.gxy";
	$aika = time();
	$tiedosto = file($fname);

	$erotus = $aika - $tiedosto[0];
	$kulunut = date("H",  $erotus) - 2;
	$tulos = $tiedosto[1] + $kulunut * 500;

	$kahva = fopen($fname, "w");
	fwrite($kahva, $aika . "\n");
	fwrite($kahva, $tulos);
	fclose($kahva);
?>

Osaat varmaan soveltaa tuota.

edit: koodista puuttui yksi juttu, lisäsin sen.

Tomix [08.04.2003 17:11:32]

#

Hmm... niin, tietokoneen kello, =) Sehän ei tietenkään saa toimia niin, että tietokoneen kelloa säätämällä saat ylimääräisiä "pisteitä", kyseessä on nimittäin eräänlainen peli.

arcatan [09.04.2003 16:09:56]

#

Niin mutta eihän kukaan pelaaja nyt serverin kelloa säätele (ainakaan yleensä)? Kun tuo vetäisee ajat serverin kellosta.

Minä testasin kotikoneellani joka toimii servuna tuota ja en jaksanut kovin pitkään odottaa, joten säätelin kelloa ja testasin siten. Ihan kohtuullisen hyvin toimi.

Tomix [09.04.2003 22:42:15]

#

Hmm hmmm... no mutta niinpä tietysti :D Täytyypä yrittää soveltaa sitä käytäntöön joku yö.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta