- Home
- Categorie
- Coding e Sistemistica
- PHP
- Confronto tra due orari, uno settato un preso dal server
-
Confronto tra due orari, uno settato un preso dal server
Ciao a tutti, sono qui per sottoporvi un quesito che riguarda gli orari. I dovrei fare in modo che, se un orario preso dal server è compreso tra due indicati nel codice, risulti attiva la selezione in caso contrario no. In pratica mi spiego meglio: io setto un orario iniziale (es: 10:30) ed un orario finale (es: 15:30) e vorrei che quando viene caricata la pagina, questa prendesse l'orario del server su cui si trova il sito e in base a quello mi mostri se è attivo o meno... Una soluzione io l'ho trovata nel modo che vi indico qui sotto, ma purtroppo non mi sembra affidabile... se per esempio torno indietro o riaggiorno la pagina mi restiutuisce per esempio 'Non Attiva' quando giustamente un attimo prima lo era e se magari riaggiorno di nuovo torna attiva... come posso fare? Idee? Maledetti orari...
[PHP]
$ora_apertura = 83000;
$ora_chiusura = 163000;$ore = getdate();
$_ora_attuale = $ore['hours'].$ore['minutes'].$ore['seconds'];
$ora_attuale = (int)$_ora_attuale;if(($ora_apertura < $ora_attuale) && ($ora_attuale < $ora_chiusura)){
$_SESSION['status'] = 1;
echo '<span class="attiva">Attiva</span>';
}else{
$_SESSION['status'] = 0;
<span class="disattiva">Disattiva</span>
}[/PHP]
-
Ciao,
prova a fare la funzione js con timer e gli passi inizialmente la data da php (quindi quella del server)
-
Innanzi tutto grazie per l'auito... in seconda battuta potresti illustrarmi un po come fare... io a javascript sto ancora a zero... anche se comincio ora ad utilizzarlo in qualche campo select... comunque se non hai tempo o voglia non preoccuparti, grazie lo stesso...per ora ti saluto.
-
Forse non ho capito bene la domanda comunque io farei così:
[php]<?php
$min=37800; // orario minimo espresso in secondi
$max=55800; // orario massimo espresso in secondi
$ora_attuale=date('H.i',time()); // estraggo l'ora attuale
$ora=explode(".",$ora_attuale); // ricavo ora e minuti separati
$ore=$ora[0];
$minuti=$ora[1];
$tempo=($ore3600)+($minuti60); // trasformo ora e minuti attuali in secondi
if ($tempo > $min && $tempo < $max) {
echo 'Sei nel range';
} else {
echo 'Sei fuori dal range';
}
?>[/php]
-
Ciao tigrone, grazie per la risposta e scusa per il ritardo... comunque credo tu abbia centrato in pieno la risposta... ora provo e ti faccio sapere. Ti ringrazio ancora per ora ti slauto ciao ciao