Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Recupero notice

  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026

    Recupero notice

    Salve.
    Alcune volte quando torno sopra a questi script mi viene sempre il dubbio se posso usare indifferentemente sia un metodo che l'altro perchè suppongo che diano gli stessi risultati uguali, ma vengono scritti in maniera diversa:
    Codice PHP:
     if(empty($_POST['categoria']))      
              { 
                
    $cat='';     
              } else {     
    $cat $_POST['categoria'];     } 
    e l'altro
    Codice PHP:
     if(!isset($_POST['categoria']))      
              { 
                
    $cat='';     
              } else {     
    $cat $_POST['categoria'];     } 
    Grazie di un chiarimento.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505

    Re: Recupero notice

    Supponendo che categoria sia un campo text, non ci scrivi niente dentro e invii la form
    Codice PHP:
     if(empty($_POST['categoria']))      

        
    $cat='';     
    } else {    
    $cat $_POST['categoria']; } 
    Sarà eseguito il codice dell'if perché la variabile esiste ed è vuota

    Codice PHP:
     if(!isset($_POST['categoria']))      

        
    $cat='';     
    } else {    
    $cat $_POST['categoria'];  } 
    Sarà eseguito l'else, anche se la variabile è vuota, comunque è settata.

  3. #3
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    E se inevece scrivo qualcosa nella variabile POST, diventa così:
    Codice PHP:
    if(empty($_POST['categoria']))      

        
    $cat='';     
    } else {    
    $cat $_POST['categoria']; } 
    Esegue solo else

    Codice PHP:
    if(!isset($_POST['categoria']))      

        
    $cat='';     
    } else {    
    $cat $_POST['categoria']; } 
    Esegue solo else
    Che ne pensi?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Partendo dal presupposto che il pc ha sempre ragione, va cercata solo la motivazione del comportamento.

    1) nella variabile c'è scritto qualcosa, dunque non è vuota e empty(...) è false, dunque si esegue l'else.

    2) come sopra, nella variabile c'è qualcosa ed è quindi settata, !isset(...) è false e si esegue l'else.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.