come si valida un campo numerico? Cioè impedire l'inserimento dei caratteri che non sono numeri?
Codice PHP:
<input name="imponibile" type="text" size="20" maxlength="20">
come si valida un campo numerico? Cioè impedire l'inserimento dei caratteri che non sono numeri?
Codice PHP:
<input name="imponibile" type="text" size="20" maxlength="20">
Intendi lato php? (cioè quando l'utente ha già fatto il submit)?Originariamente inviato da prinzart
come si valida un campo numerico? Cioè impedire l'inserimento dei caratteri che non sono numeri?
Codice PHP:
<input name="imponibile" type="text" size="20" maxlength="20">
http://it.php.net/manual/en/function.is-numeric.php
Lato client (cioè se vuoi impedire di scrivere i caratteri non ammessi) dovrai usare javascript, e legare una funzione al keyup che controlli il codice ascii del tasto premuto e ritorni falso in caso non sia quello che tu ti aspetti.. magari chiedi sul forum javascript per questo che qui siamo OT.
ciao
si, intendevo php.
Ora mi studio il manuale...![]()
ho letto il manuale e ho fatto così, ma non funziona. Chi mi darebbe una mano:
<input name="imponibile"> type="text" size="20" maxlength="8">
Codice PHP:
<?php
$sql = "INSERT INTO protocollo_ordini (imponibile)
VALUES ('$imponibile')";
mysql_query($sql, $conn) or die ($sql);
$msg = "protocollo inserito nel database";
if (strlen ($imponibile) > 8 && strlen ($imponibile) < 2) {
$msg_numeri_a = "ERRORE
il campo imponibile deve avere meno di 8 numeri e piu di due";
}
elseif (is_numeric($imponibile)) {
$msg_numeri_b = "ERRORE
il campo imponibile deve contenere solo numeri";
}
?>
supponiamo che l' utente inserisca nel campo 'pippo7.4'
$dato='pippo7.4';
se ti serve un valore INTERO (7)
$var=intval(floatval($dato));
se accetti anche decimali invece
$var=floatval($dato);
dovrebbe funzionare
![]()
Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle
il mio profilo su PHPClasses e il mio blog laboweb
ho fatto così ma ancora non mi funziona:
<input name="imponibile" <?php if (!$inserimento);?> type="text" size="20" maxlength="8">
Codice PHP:
if ($imponibile) {
$sql = "INSERT INTO protocollo_ordini (imponibile)
VALUES ('$imponibile')";
mysql_query($sql, $conn) or die ($sql);
$msg = "protocollo inserito nel database";
$inserimento = floatval($imponibile);
}
else {
$msg = "ERRORE
devi riempire il campo imponibile di soli numeri";
}
non capisco dove hai problemi...Originariamente inviato da prinzart
ho fatto così ma ancora non mi funziona:
<input name="imponibile" <?php if (!$inserimento);?> type="text" size="20" maxlength="8">
Codice PHP:
if ($imponibile) {
$sql = "INSERT INTO protocollo_ordini (imponibile)
VALUES ('$imponibile')";
mysql_query($sql, $conn) or die ($sql);
$msg = "protocollo inserito nel database";
$inserimento = floatval($imponibile);
}
else {
$msg = "ERRORE
devi riempire il campo imponibile di soli numeri";
}
if(strlen($imponibile) < 8 && strlen($imponibile) > 2 && is_numeric($imponibile)) {
// fai quello che vuoi
}
ok ce l'ho fatta, sono riuscito a far validare il campo, però mi accetta solo i numeri interi, io invece vorrei che mi inserisse anche i decimali ad esempio (581,49) euro ma ora mi inserisce solo (581). Come posso risolvere?
<input name="imponibile" type="text" size="20" maxlength="8">
Codice PHP:
if (floatval($imponibile)) {
$sql = "INSERT INTO protocollo_ordini (imponibile)
VALUES ('$imponibile')";
mysql_query($sql, $conn) or die ($sql);
$msg = "protocollo inserito nel database";
}
else {
$msg = "ERRORE
devi riempire il campo imponibile di soli numeri";
}
perchè 581,49 non è un numero, 581.49 invece si.Originariamente inviato da prinzart
ok ce l'ho fatta, sono riuscito a far validare il campo, però mi accetta solo i numeri interi, io invece vorrei che mi inserisse anche i decimali ad esempio (581,49) euro
Fai il test sostituendo la virgola con il punto.
ciao
p.s.
floatval non è un controllo ma forza il tipo di numero, dovrebbe funzionare lo stesso, ma in realtà la funzione non nasce proprio per questo motivo.
forse è perche ho settato il campo "imponibile" come TIPO INT? Deve essere di altro tipo quando ci sono i decimali?