Validare formato data con php

June 10th 2010 by Paolo Bindi in: Php | Tags: Php

In alternativa ad usare javascript per validare una data (a volte non è possibile che per particolari contesti non sia implementabile) possiamo scrivere poche righe di codice php.
Queste...

$sDate = $_POST['date'];

$year = substr($sDate,0,4);
$mon = substr($sDate,5,2);
$day = substr($sDate,8,2);

$unixDate=mktime(0,0,0,$mon,$day,$year);

if (($unixDate > 0) && (date('Y-m-d',$unixDate) == $sDate)){
	echo 1;
	
	$_SESSION['DATA']=$sDate;
	
}else{
	echo 0;
}


Il codice è abbastanza semplice.
Innanzitutto il tutto è presente in un file php, chiamato via ajax, dove a seconda del ritorno (echo 1 o 0) invia un alert a video
Inoltre nel mio esempio, devo validare una data nel formato yyyy-mm-dd, ma potrebbe essere adattato a qualsiasi formato...
c'è solo bisogno di un pò di tempo da dedicarci :)
Il resto rappresenta l'utilizzo della funzine mktime che restituisce un valore maggiore di zero se la data è valida.
Se alla verifica che questa variabile è maggiore di zero, aggiungiamo qualle che la funzione, sempre di unix, date() restistuisca il formato che ci aspettiamo, abbiamo il risultato sperato.

Nel caso che riscontrate qualche errore o se volete contattarmi per qualche consiglio o suggerimento, utilizzate la form della sezione contatti