Salve a tutti e grazie in anticipo, sto programmando un sito in PHP e devo passare una data che
inizialmente è in formato (01/01/2015) proveniente da un campo form html per poi diventare (2015-01-01) , nello specifico da un input type text <input type="text" name="data"/>, ottengo la data, ma poi devo inserirla in un database mysql ma fallisce, ho provato prima a gettare la data $data = $_POS['data']; ma va prima convertita in un tipo date, ho provato a trasformare la data con la funzione date ($data = date('Y-m-d', strtotime($data), ma la funzione restituisce sempre false. ho provato a separare strtotime in una variabile ($timestamp = strtotime($data)
ma ritorna sempre la Unix Epoch come data (01/01/1970). Ho provato a esplodere $data con ($data = explode('/', $data)
e poi a dividere i vari valori così ($d1 = $data[2], $d2 = $data[1], $d3 = $data[0]
creato una nuova stringa da inserire in un mktime ($newdata = mktime(0,0,0,$d1,$d2,$d3)) ma diceva che le variabile sono stringhe e devono essere long, così ho provato a fare il cast convertendo le stringhe in interi con (int) e intval() così ($d1 = (int)$d1; $d2 = (int)$d2; $d1 = (int)$d1
ma tutti e due mi restituiscono 0 dopo il cast. Ho provato con un if a vedere se queste variabile contengono i valore ($d1 dovrebbe contenere 2015) ma sia con (if ($d1 == 2015)) che con (if ($d1 == "2015")) fallisce e mi da false, come se il valore fosse corrotto. E' un bug di php? sto sbagliando qualcosa io? allego volentieri anche parte del codice se qualcuno ha un idea? perchè quando scrivo una data a mano su strtotime("2015-01-01") funziona senza problemi, ma appena uso la variabile coi dati del form di dà tutti questi problemi?
Ps: ho usato anche date_create(), new TimeDate(), TimeDate:CreateFromFormat() ma con gli stessi risultati