Ciao a tutti ... chi mi dice dove sbaglio ?
Ho una serie di campi form (diciamo 4) di tipo testo in cui inserisco delle cifre.
una funzione javascript attivata dall'evento onclick del pulsante submit del form, me ne valida i valori secondo una regxep (per la quale debbo ringraziare questo forum)
queste variabili ( ipotizziamo $a $b $c $d ) vengono quindi spedite a una pagina php che controlla il prodotto :
la somma di $a+$b+$c deve corrispondere al valore di $d
per verificare questo, utilizzo una funzione php nella pagina che riceve i dati
la funzione è un controllo di questo tipo :
La funzione di per se sembra andare ma alcuni calcoli la mettono in crisiCodice PHP:$somma = $a+$b+c;
if ($d!=$somma) {
echo "i valori non corrispondono ecc. ecc...."
ad esempio passando questi valori :
$d=99.99;
$c=33.99;
$b=33.00;
$a=33.00;
seppure una stampa di $d e di $somma dia a video lo stesso risultato viene lo stesso innescata la condizione if
Ora ....cercando di dissipare il mistero, ho notato che i valori passati non sono propriamente del tipo che vorrei .... se per esempio , inserisco da un campo di modulo il valore 13 con una query SQL nel campo decimal (8.2) di un database mysql, quando lo recupero via SQL si è trasformato in 13.00
questo NON succede facendo l'assegnazione dei valori dalla funzione di validazione lato client javascript (per cui 13 verra' passato come 13)
Ho pensato che il problema fosse imputabile a questo ma cio' che non capisco è per quale motivo solo alcuni calcoli non funzionano ..
Questi dati di input ad esempio danno un risultato ok
$d=99.99;
$c=33.33;
$b=33.33;
$a=33.33;
mentre questi invece no
$d=99.99; $d=99.99;
$c=33.97; $c=33.77;
$b=33.00; $b=33.22;
$a=33.03; $a=33.00;
e cosi' tante altre combinazioni
da cosa puo' dipendere ?
se è questione di tipo di variabili posso fare una conversione di queste ultime ?
scusate se sono stato stralungo... ^^

Rispondi quotando
