Ragazzi devo fare un controllo su un form, di un campo con valori interi e decimali.
faccio
ma anche se inserisco 2,50 per esempio, mi da errato!Codice PHP:
if(!is_float($_POST['Quota']) { errato } else { buono }
dove sbaglio?
Ragazzi devo fare un controllo su un form, di un campo con valori interi e decimali.
faccio
ma anche se inserisco 2,50 per esempio, mi da errato!Codice PHP:
if(!is_float($_POST['Quota']) { errato } else { buono }
dove sbaglio?
http://codecanyon.net/category/all?ref=Manuelandro
And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
memories to be made
le variabili che arrivano dal form sono sempre stringhe.
devi usare is_numeric() e mettere il punto come divisore decimale e non la virgola.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
nemmeno is_numeric() andava così sono riuscito a risolvere conOriginariamente inviato da piero.mac
le variabili che arrivano dal form sono sempre stringhe.
devi usare is_numeric() e mettere il punto come divisore decimale e non la virgola.
preg_match("/[\d]/",$variabile)
solo kec'è qualcosina ancora ke non va!
se inserisco numero intero o decimale(sia virgola o punto) mi stampa ok, e perfetto..Codice PHP:
if(!preg_match("/[\d]/",$variabile) { echo"Quota non valida!";
$1 = '-'; $2 = '-'; $3 = '-';
echo"$1 $2 $3";
} else { echo"Ok"; }
se inserisco qualcosa di diverso mi stampa giustamente Quota non valida ma invece dei trattini
- - - mi stampa & & &
??
thx per la risposta
http://codecanyon.net/category/all?ref=Manuelandro
And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
memories to be made
non puoi mettere un numero come nome variabile... e manco iniziare per numero...
mettici un undescore davanti o cambia il $1 in $uno.... $2 ecc...
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Originariamente inviato da piero.mac
non puoi mettere un numero come nome variabile... e manco iniziare per numero...
mettici un undescore davanti o cambia il $1 in $uno.... $2 ecc...
no no, i numeri li ho usati per l'esempio con te, per dirti che ho molte variabili a cui devo se l'if non è valido devo dare valore -
non uso numeri, quindi il problema non è quello...
http://codecanyon.net/category/all?ref=Manuelandro
And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
memories to be made
boh... se devi passare un valore numerico con POST, sia esso intero che float, con is_numeric() lo riconosce tranquillamente.Originariamente inviato da Manuelandro
no no, i numeri li ho usati per l'esempio con te, per dirti che ho molte variabili a cui devo se l'if non è valido devo dare valore -
non uso numeri, quindi il problema non è quello...
prova...
ovvio che non accetta virgole come separatore decimale...Codice PHP:
if(is_NUMERIC($_POST['variabile'] )) {
echo $_POST['variabile'];
} else { echo "falso"; }
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
in effetti cambia tutto se un utrente inseirisce 1,50 e un altro 1.50!
come faccio a costringerli ad usare il punto?
http://codecanyon.net/category/all?ref=Manuelandro
And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
memories to be made
metticelo tu.Originariamente inviato da Manuelandro
in effetti cambia tutto se un utrente inseirisce 1,50 e un altro 1.50!
come faccio a costringerli ad usare il punto?
$valore = ereg_replace(',', '.', $_POST['valore']);
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
ehm, mi sa ke non mi è molto chiaro come si fa!Originariamente inviato da piero.mac
metticelo tu.
$valore = ereg_replace(',', '.', $_POST['valore']);
allora io ho questo campo che si chiama Quota, in cui ,'utente deve inserire la quota di un avvenimento sportivo! che può essere sia 1 che 1.15 che 7.50 che 9..etc etc etc
A disposizione, l'utente ha, il campo di inserimento testo!
Il controllo che faccio sul campo è quello postato poco sopra
ora insieme a questo devo aggiungere che, se l'utente inserisce la quota con la virgola, compare { echo"La quota la devi scrivere col punto" } altrimenti { perfetto }Codice PHP:
if(!preg_match("/[d]/",$variabile) { echo"Quota non valida!";
} else { echo"Ok"; }
come fo?
http://codecanyon.net/category/all?ref=Manuelandro
And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
memories to be made
ho risolto usando due campio select, il primo per l'unità, il secondo per le decine!
solo che quando vado ad unire le due variabili per una sola vbariabile decimale non mi funziona
$quota = $_POST[Quota1].$_POST[Quota2];
come mai?
http://codecanyon.net/category/all?ref=Manuelandro
And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
memories to be made