Allora, in un'esercizio sto cercando di fare un sistema di spedizioni, in cui devo usarer un countdown.
Però mi viene sempre giorni -1.
Ecco le pagine:
spedizioni.php
Codice PHP:
<?php
include("../../url.php");
if(file_exists("sessione.txt")) {
$d = fopen("sessione.txt", "a+");
$f = fread($d, filesize("sessione.txt"));
if($f == "ok") {
?>
<html>
<head>
<title><?php fopen_r("prova.txt") ?>: TGM -- Mercato</title>
</head>
<?php creamenu("prova","TGM: Spedizioni"); ?>
<form name="spedizioni" action="sped-a.php" method="post">
Invia una spedizione:<br>
Uomini Posseduti: <?php
$var = risorse("uomini");
echo $var."<br><br>";
if($var < 100) {
echo "Non hai sufficienti uomini per intraprendere una missione. Devi averne almeno 100<br>
</form>
</body>
</html>";
} else {
?>
<select name="risorse">
<option value="#">Scegli la risorsa</option>
<option value="ferro">Ferro</option>
<option value="petrolio">Petrolio</option>
</select><br>
Quanti uomini vuoi mandare? <input type="text" name="uomini" size="4"><br>
<input type="submit" value="invia la spedizione"> <input type="reset" value="cancella">
</form>
<?php
}
} else {
header("location: http://localhost/not_login.php");
}
} else {
header("location: http://localhost/not_login.php");
}
?>
sped-a.php:
Codice PHP:
<?php
//non funziona!
$risorsa = $_POST['risorse'];
$uomini = $_POST['uomini'];
if($risorsa != "#" && $uomini != 0) {
if($uomini > risorse("uomini")) { // risorse() guarda quanti uomini possiedi
echo "Non hai $uomini uomini!";
} else {
// Configura la data a cui dovrai arrivare
$targetYear = date("Y");
//echo "Anno: ".$targetYear."<br>";
$targetMonth = date("m");
//echo "Mese: ".$targetMonth."<br>";
$targetDay = date("d");
//echo "Giorno: ".$targetDay."<br>";
$targetHour = date("H");
//echo "Ora: ".$targetHour."<br>";
$targetMinute= $uomini / 10;
//echo "Minuto: ".$targetMinute."<br>";
$targetSecond= 00;
// Fine configurazione data
// configura il formato della data
$dateFormat = "Y-m-d H:i:s";
$targetDate = mktime($targetHour,$targetMinute,$targetSecond,$targetMonth,$targetDay,$targetYear);
//echo "$targetDate<br>";
$actualDate = time();
$secondsDiff = $targetDate - $actualDate;
$remainingDay = floor($secondsDiff/60/60/24);
$remainingHour = floor(($secondsDiff-($remainingDay*60*60*24))/60/60);
$remainingMinutes = floor(($secondsDiff-($remainingDay*60*60*24)-($remainingHour*60*60))/60);
$remainingSeconds = floor(($secondsDiff-($remainingDay*60*60*24)-($remainingHour*60*60))-($remainingMinutes*60));
$targetDateDisplay = date($dateFormat,$targetDate);
$actualDateDisplay = date($dateFormat,$actualDate);
}
} else {
echo "Errore! Mancanza di uomini o di risorse";
}
?>
<html>
<head>
<style>
#remain {display: block}
#finish {display: none}
</style>
<title><?php fopen_r("prova.txt") ?>: TGM -- Spedizioni</title>
<script type="text/javascript">
var days = <?php echo $remainingDay; ?>
var hours = <?php echo $remainingHour; ?>
var minutes = <?php echo $remainingMinutes; ?>
var seconds = <?php echo $remainingSeconds; ?>
function setCountDown ()
{
seconds--;
if (seconds < 0){
minutes--;
seconds = 59
}
if (minutes < 0){
hours--;
minutes = 59
}
if (hours < 0){
days--;
hours = 23
}
if (seconds == 1){
secondi = "secondo";
} else {
secondi = "secondi";
}
if (minutes == 1){
minuti = "minuto";
} else {
minuti = "minuti";
}
if (hours == 1){
ore = "ora";
} else {
ore = "ore";
}
if(days == 1) {
giorni = "giorno";
} else {
giorni = "giorni";
}
if(days == 0 && hours == 0 && minutes == 0 && seconds == 0) {
document.getElementById("finish").style.display = 'block';
document.getElementById("remain").style.display = 'none';
} else {
document.getElementById("remain").innerHTML = days+" "+giorni+", "+hours+" "+ore+", "+minutes+" "+minuti+", "+seconds+" "+secondi;
setTimeout ( "setCountDown()", 1000 );
}
}
</script>
</head>
<body onload="setCountDown()">
<div id="remain"></div>
<div id="finish"><a href="result.php">Risultato</a></div>