Data una casella di testo mi date i nomi di funzioni che validano i casi se è un intero,oppure se è una mail scritta in modo corretto o se è una data scritta in maniera opportuna?
Grazie in anticipo
Data una casella di testo mi date i nomi di funzioni che validano i casi se è un intero,oppure se è una mail scritta in modo corretto o se è una data scritta in maniera opportuna?
Grazie in anticipo
Premettendo che ti conviene fare un controllo anche prima che l'utente invii i dati al form con un semplice controllo in javascript, quando sulla pagina di destinazione devi controllare i dati queste sono le funzioni:
1) Numero intero
2) e-mailCodice PHP:
if (is_int(23))
echo 'intero';
else
echo 'non intero';
FILTER_VALIDATE_EMAIL
3) Data
Checkdate
intanto grazie
dice che non è un intero anche se si scrive 11111.Come mai?codice:$cap = $_POST['Cap']; if($cap == ""){echo "Manca il CAP!", " \n";$msg=1; } if (!is_int($cap)){ echo "Il CAP non è un numero", " \n";$msg=1; }
-----------------------------------------
sembra funzionare per l' email.Va bene?codice:function isValidEmail($email){ return filter_var(filter_var($email, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL); } if(isValidEmail($email)){ //valido } else { echo "Campo email non corretto!", " \n"; $msg=1; }
--------------------------------------------
per la data ci vanno 3 campi quindi,comunq funziona
il formato della data è mese/giorno/anno
si può avere giorno/mese/anno
-Se ti serve sapere solo se sia un numero:
-Se funziona credo vada bene...Il problema si pone quando non funzionaCodice PHP:
if(is_numeric($var))
echo "numero";
else
echo "non numero";
-Ti basta dividerla in 3 variabili con la funzione explode.
Se l'inglese o altre le lingue disponibili non fanno per te: explode
con " if(is_numeric($var)) "va
come dicevo si può impostare il diverso formato della data?
sto risolvendo.....
a livello mysql la accetta solo aa/mm/gg.Cosa può essere?
ma si...quando la prendi dividila in 3 variabili diverse con la funzione explode che ti ho segnalato prima...non è una cosa complicata.
Prova così!
Ciaocodice:$tua_data = '01/01/2011'; print date("Y/m/d",strtotime($tua_data));
ma lui dovrebbe inserire tre variabili diverse nella funzione CHECKDATE.
ti posto come devi fare va
tu hai la data nel formato: aaaa/mm/gg.
Prova in questo modoCodice PHP:
$data='1990/12/12';
//divido la data in tre variabili
$var=explode('/', $data);
$anno=$var[0];
$mese=$var[1];
$giorno=$var[2];
//inserisco le variabili nella funzione
if(checkdate($mese, $giorno, $anno))
echo 'data esatta';
else
echo 'data errata';