Originariamente inviato da angela.perrini
Ora però ho un altro problema. Cioè se nel campo del form viene inseirto 0, la variabile $valore deve essere uguale a 0; se invece non viene inserito nessun valore, la variabile $valore diventa uguale a 2000000. Qualcuno sa dirmi come posso fare?
Scusa, il ritardo ma non sono un frequentatore assiduo del forum. Qualche risposta però già c'è.

Tu hai cinque condizioni che devi valutare

1) $_POST['valore'] presente ma vuoto dovrà diventare 2000000.
2) $_POST['valore'] non presente, cioè NULL o non settato [valore] diventerà 2000000.
3) $_POST['valore'] = 0. dovrà essere zero.
4) $_POST['valore'] > 0 dovrà essere il valore relativo definito.
5) $_POST['valore'] con un valore non numerico, va scartato.

Se lo scenario è corretto ci vorrebbe un switch/elseif e l'uso di ISSET() invece di EMPTY().

codice:
  // verifica se è settato e se è zero
  if(isset($_POST['valore']) AND $_POST['valore'] === 0) { 
        $valore = 0;  }

       // verifica se è assente, NULL oppure vuoto
       elseif( !isset($_POST['valore']) OR $_POST['valore'] == '' ) {
             $valore = 2000000;  }
         
          // verifica se è un numero
          elseif(is_numeric($_POST['valore']))   {  
		         $valore = $_POST['valore'];    }
		         
                                   // in tutti gli altri casi
		         else { 
                                     echo "Sorry. Questo non e' un valore numerico";
		                 exit;    }

echo $valore;