Ciao a tutti. Ho due quesiti. Ho una tabella mysql con le specifiche degli utenti registrati e il loro saldo. Il saldo è senza virgola cioè se è 10,35 è scritto 1035. Quando stampo il valore però deve essere con la virgola e 2 decimali. Devo fare una pagina di pagamenti dove l'utente sscrive l'importo e il destinatario. Per non obbligare l'utente a mettere la virgola ho deciso di aggiungerla io a seconda dei casi. E' corretto questo codice?
Codice PHP:
<?php
if(!isset($_GET['nome'])){
echo"
Non hai selezionato nessun destinatario. Torna [url='paga.php']indietro[/url].</p>";
}
else if(preg_match("/^([0-9]{1,})\,?([0-9]{0,2})$/",trim($_GET['importo']))===0){
echo"
Importo non corretto. Torna [url='paga.php']indietro[/url].</p>";
}
else{
$importo=trim($_GET['importo']);
$dst=$_GET['nome'];
$src=$_SESSION['nome'];
$saldo=$_SESSION['saldo'];
$a=",00";
$b="00";
$c="0";
if(preg_match("/^([0-9]{1,})$/",$importo)===1){
$importo=$importo.$a;
}
if(preg_match("/^([0-9]{1,})\,$/",$importo)===1){
$importo=$importo.$b;
}
if(preg_match("/^([0-9]{1,})\,([0-9]{1})$/",$importo)===1){
$importo=$importo.$c;
}
Sembrava funzionare ma quando vado a confrontarlo con il saldo dell'utente (preso tramite sessione aperta) ho dei problemi.
Codice PHP:
if($importo>$saldo){
echo"
L'importo supera il saldo disponibile.</p>";
}
else{
Se per esempio ho un saldo di 99999,00 e inserisco 100000 che diventa 100000,00 me lo accetta quando dovrebbe darmi errore. Sapete aiutarmi? Grazie