il problema è qui:
Codice PHP:
if(@ereg("\.",$name))
{
$dot = ".";
$pos = strpos($name, $dot);
//echo $pos."
\n";
if($pos > 3)
{
echo "The input cannot exceed more than 3 digits left of the decimal
\n";
die;
}
}
questo pezzo di codice controlla se a sinistra della virgola ci sono al più 3 caratteri.
Naturalmente il - viene visto come carattere, e se immetti un numero negativo di tre cifre alla funzione risulta che a sinistra della virgola ci sono 4 caratteri e quindi da errore.
Come risolvere?
ci sono diversi modi, te ne dico uno:
1) si controllano quanti caratteri ci sono a sinistra della virgola
2) se sono 4, si controlla che il primo sia un trattino. Se è un trattino si va avanti
3) se sono 3 si va avanti normalmente.