Visualizzazione dei risultati da 1 a 5 su 5

Discussione: isset necessario o no?

  1. #1
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854

    isset necessario o no?

    Salve utenti,
    vorrei chiedervi un consiglio, spesso utilizzo:

    Codice PHP:
     $invia=$_GET['invia']; 
    va bene così, oppure è necessario vedere prima se $invia è settato o no?

    Codice PHP:
    if(isset($_GET['invia'])){
            
    $invia=$_GET['invia'];
          ...........

    Grazie!

  2. #2
    Se non è settato è come se non assegni nulla... Ovvero null!

  3. #3
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854
    Lo so, ma chiedo è necessario il controllo al fine di non far stampare errori?

  4. #4
    È meglio farlo, anche perché se non lo fai non vuoi poi controllare che il valore non sia null prima di effettuare altre eventuali operazioni?

    Se succede che il parametro non è settato non stampa viene lanciato un errore ma un notice e lo script va avanti comunque, però se proprio vuoi puoi configurare l'applicazione in modo che i warning/notice non vengano visualizzati sullo schermo.
    Visita il mio blog e canale YouTube dedicati a programmazione web e sicurezza informatica.

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    No.

    Il problema piu' che altro riguarda la configurazione del server dove installi l'applicazione.

    Se il server e' settato con gli error_reporting(E_ALL) e con tutte le notifiche se fai

    $var = $_POST["data"] ;

    e $_POST["data"] ; non e' settato viene generato un warning verboso nella response.

    se poi hai un session_start(); si impalla tutto .

    Il mio consiglio e' di usare il controllo isset se non sai dove monti il spoftware altrimenti
    puoi usare la versione senza controllo MA per sicurezza imposti error_reporting(0) con tutto quello che ne consegue (ossia nessuna segnalazione errore in alternativa disabilita i warnings e bbasta).

    una buona soluzione per andare tranquilli e' : $var = isset($array["dato"])? $array["dato"] : "" ;

    Nella versione senza errori se la variabile non e' settata viena allocata una stringa vuota o un flase ... non ricordo cmq non e' un errore come potrebbe essere su linguaggio tipo c o java se tenti di gestire varibili inesitenti.

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.