PHP não variáveis ​​existentes e as formas

Por Watkin Steven Lloyd , quinta-feira 31 de julho de 2008 10:36

Me deparei com algo que eu não estava ciente de que hoje é muito útil .... o operador de controle de erro "@" Â em PHP .

Então, para algum fundo de como me deparei com esse problema, em minha aplicações Web que tendem a utilizar o mesmo formulário para inserir dados em MySQL banco de dados. Se eu tenho uma espécie de id 'número' através de um conjunto de variáveis ​​GET , em seguida, que dispara uma carga do banco de dados, caso contrário, eu estou adicionando novos dados.

Em forma de elementos meu Costumo definir o valor do campo de formulário para algo como <? = $ Dados 'fieldValue'];?> [esta funciona bem quando o carregamento de dados, mas quando eu inserir novos dados que eu obter o formulário preenchido como seguinte (nota sobre o meu login ou quando eu estou testando tenho relatórios de erro definida como E_ALL para que eu possa ter certeza que tudo está funcionando corretamente):

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

Então o que eu eventualmente acabei fazendo foi escrito mais feio) código (que disse: <? if (isset ($ dados ['fieldValue'])) {echo $] data ['fieldValue';}?> grande. Não exatamente

Então me deparei com o operador de controle de erro no PHP, simplesmente colocando o símbolo "@" antes de um operador (basicamente qualquer coisa que possa retornar um resultado), o problema acima é resolvido. Por exemplo, posso agora fazer o meu valor para o parâmetro <;? @ = '$ Dados [' fieldValue]?>. Se a variável não está definida (ou seja, um erro seria gerado), então o erro é suprimida.

Nota: A utilização do símbolo "@" pode suprimir erros importantes e esconder o fato de que parte do seu site não está funcionando corretamente, então tome cuidado!

Deixe uma resposta













Panorama Tema por Themocracy

5 visitantes online agora
3 pessoas, 2 bots, 0 membros
Max visitantes hoje: 17 às 00:28 UTC
Este mês: 26 em 2011/07/05 12:35 UTC
Este ano: 130 em 28-03-2011 22:40 UTC
Todos os tempos: 130 em 28-03-2011 10:40 UTC