inizializzazione variabili

quando un utente fa una submit su un form passa i dati a una pagina e all'inizio di questo pagina  faccio la validazione di una variabile del tipo

$dati['username']=trim($_POST['username']);

però se l'utente modifica il form togliendo il campo username ad esempio  e poi fa la submit ... in quel caso lo script mi darà un warning dicendo che $_POST['username'] non esiste. quindi prima di inizializzare $dati['username'] devo fare un isset di $_POST['username']);.

Ora mi chiedo se io ho 20 variabili da inizializzare possibile che devo fare 20 isset per non fare generare dei warning ?

inviato 10 anni fa
Toto007
X 0 X

 :2funny: hai colto nel segno!

In realtà, nonostante il warning, lo script continuerà a funzionare regolarmente poiché una variabile inesistente viene trasformata in una stringa vuota (oppure in 0 se serve un intero)

Per cui il problema è solo estetico. Allora conviene risolverlo solo per gli utenti che si comportano bene, per gli altri l'importante è che lo script non risulti insicuro. Quindi l'isset() va fatto solo su quei dati del form che effettivamente potrebbro non essere inviati, come le checkbox e i radio buttons. Per gli altri tipi di controlli qualcosa arriva sempre quindi isset risulta inutile.

Se poi qualcuno si mette a giocare con il form e toglie qualche campo allora vedrà apparire dei warning. Peggio per lui!

 :bye:

P.S.: è chiaro quindi che la sicurezza di uno script non si basa sull'isset() ma sul controllo del contenuto delle variabili.

risposto 10 anni fa
Gianni Tomasicchio
modificato 10 anni fa
X 0 X

e così sia :)

ps.appena ci sentiamo su msn ti devo fare un regalo...non so se l'accetterai... :-X

risposto 10 anni fa
Toto007
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda