controllare data

Ciao a tutti

 :)

Ho un modulo di inserimento data, e orario.

Se possibile vorrei azionare un controllo.

Se un utente mi sceglie una data o un'ora non ancora passata

(per es. nel modulo è presente scelta da questo mometno fino a fine anno. un utente mi sceglie il 1/12 e devo fare notare che non è possibile perché non è ancora passato)

Vorrei appunto avvisare che  cio' è impossibile

quindi.

dati

$giorno = $_POST['giorno'];

$mese = $_POST['mese'];

$anno = $_POST['anno'];

$orario = $_POST['orario'];

e

$time_1 = strtotime ("now");

$today_date = date("d/m/Y", $time_1);

$today_time= date("h:i:s", $time_1);

Qualche buonanima sa consigliarmi un metodo indolore e efficace per controllare che non  si inserisca un momento "futuro"?

tipoif  $today_date < $giorno , $mese, $anno? (ma so che cosi non funziona, giusto=?)

Ciao

e grzie in anticipo  :bye:

inviato 8 anni fa
RedLynch
X 0 X

puoi usare la funzione mktime() per trasformare una data (fornita nelle sue componenti) in un timestamp. Per avere il timestamp corrente invece si usa time(). Confrontando questi due numeri ($timestamp1 < $timestamp2) puoi capire se la data inserita è al futuro.

http://it.php.net/mktime

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Ciao Gianni

Grazie come sempre.

Intanto ero riuescito a fare questa cosa e funziona

/* Controllo se un utente inserisce una data o un'ora non ancora passata */

$time = strtotime("now");

$then = strtotime("$giorno-$mese-$anno-$orario");

if ($then > $time) {

echo "Questo treno non è ancora passato, fai un altro inserimento";

exit();

} else {

//okay

}

risposto 8 anni fa
RedLynch
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda