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;