Variables PHP inexistentes e formas

Por Steven Lloyd Watkin , xoves 31 de xullo de 2008 10:36

Me deparei con algo que eu non estaba ao tanto de hoxe que é moi útil .... o operador de control de erro "@" Â en PHP .

Entón, para algún fondo de como me deparei con este problema, en miñas aplicacións web eu tendo a utilizar o mesmo formulario para introducir datos nunha MySQL base de datos. Se eu teño unha especie de 'id' número definido a través dunha variable GET , entón, que dispara unha carga da base de datos, se non, eu estou engadindo novos datos.

En elementos miña forma Costume establecer o valor do campo de formulario para algo así como <? = $ Data ['fieldValue'];?> funciona ben cando a carga de datos, pero cando estou introducindo novos datos que obter o formulario cuberto como segue (nótese o meu sesión ou cando estou probando eu teño o informe de erros definido para E_ALL para que eu poida estar seguro que todo funciona correctamente):

Aviso: Undefined variable: datos in / home / public_html dataEdit.php / on line 69

Entón o que eu finalmente acabei facendo estaba escribindo máis (feo) código que dicía: <? if (isset ($ data ['fieldValue'])) {echo $ datos ['fieldValue'];}?.> Non é exactamente grande

Entón me deparei co operador de control de erro en PHP, simplemente colocando un símbolo '@' antes dun operador (basicamente todo o que poida voltar un resultado), o problema anterior é resolto. Por exemplo, podo agora facer o meu valor para o parámetro <= @ $ data ['fieldValue'];?>. Se a variable non está definida (ou sexa, un erro sería xerado), entón o problema é suprimida.

Nota: Se utiliza o símbolo '@' pode suprimir grandes erros e ocultar o feito de que parte do seu sitio non está funcionando correctamente, polo que teña coidado!

Deixe unha resposta













Tema por Panorama Themocracy

4 visitantes en liña agora
2 convidados, 2 bots, 0 membros
Max visitantes hoxe: 11 ás 12:15 UTC
Este mes: 52 en 18-06-2011 03:11 UTC
Este ano: 130 en 28-03-2011 22:40 UTC
Todas as horas: 130 en 28-03-2011 10:40 UTC