- Home
- Categorie
- Coding e Sistemistica
- PHP
- validare un campo numerico
-
validare un campo numerico
come si valida un campo numerico? Cioè impedire l'inserimento dei caratteri che non sono numeri?
[PHP]
<input name="imponibile" type="text" size="20" maxlength="20">
[/PHP]
-
Lato server (PHP) la funzione è is_numeric: http://it2.php.net/manual/it/function.is-numeric.php
Altrimenti lato client devi usare javascript
-
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">
[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<br>il campo imponibile deve avere meno di 8 numeri e piu di due";
}
elseif (is_numeric($imponibile)) {
$msg_numeri_b = "ERRORE<br>il campo imponibile deve contenere solo numeri";
}
?>
[/PHP]
-
prova con
[php]<input id="imponibile" name="imponibile" type="text" size="20" maxlength="20">
[/php][php]
<?phpif (strlen ($imponibile) > 8 && strlen ($imponibile) < 2) {
$msg_numeri_a = "ERRORE<br>il campo imponibile deve avere meno di 8 numeri e piu di due";
}
elseif (is_numeric($imponibile)) {
$msg_numeri_b = "ERRORE<br>il campo imponibile deve contenere solo numeri";
}
else {
$sql = "INSERT INTO protocollo_ordini (imponibile)
VALUES ('$imponibile')";
mysql_query($sql, $conn) or die ($sql);
$msg = "protocollo inserito nel database";
}
?>
[/php]
-
@massimux said:
prova con
[php]<input id="imponibile" name="imponibile" type="text" size="20" maxlength="20">
[/php][php]
<?phpif (strlen ($imponibile) > 8 && strlen ($imponibile) < 2) {
$msg_numeri_a = "ERRORE<br>il campo imponibile deve avere meno di 8 numeri e piu di due";
}
elseif (is_numeric($imponibile)) {
$msg_numeri_b = "ERRORE<br>il campo imponibile deve contenere solo numeri";
}
else {
$sql = "INSERT INTO protocollo_ordini (imponibile)
VALUES ('$imponibile')";
mysql_query($sql, $conn) or die ($sql);
$msg = "protocollo inserito nel database";
}
?>
[/php]scusate ma per effettuare il controllo cosi come scritto sopra non si dovrebbe mettere l'elseif in questo modo?
[php]
elseif (!is_numeric($imponibile)) {
$msg_numeri_b = "ERRORE<br>il campo imponibile deve contenere solo numeri";}
[/php]inoltre la prima parte andrebbe scritta cosi penso
[PHP]
if (strlen ($imponibile) > 8 or strlen ($imponibile) <= 2) {
$msg_numeri_a = "ERRORE<br>il campo imponibile deve avere meno di 8 numeri e piu di due";
}
[/PHP]
oppure no?