HTTP/1.0 200 OK Accept-Ranges: none Age: 60 Content-Location: http://www.evilprofessor.co.uk/70-php-variables-not-existing-and-forms/ Content-Type: text/html; charset=UTF-8 Date: Fri, 20 May 2011 09:37:46 GMT X-Frame-Options: ALLOWALL Set-Cookie: PREF=ID=2f3fc07208134af4:TM=1305884326:LM=1305884326:S=GPT6j7O_a28SUt0p; expires=Sun, 19-May-2013 09:38:46 GMT; path=/; domain=translate.googleusercontent.com X-Content-Type-Options: nosniff Server: translation Expires: Fri, 20 May 2011 09:37:46 GMT Cache-Control: private Evilprofessor.co.uk »PHP Ukazovatele neexistujúce a formy

PHP Ukazovatele neexistujúce a formy

Tým, Steven Lloyd Watkin štvrtok 31.júla 2008 10:36

Narazil som na niečo, čo som nevedela, že dnes je veľmi šikovná .... operátor riadenie chýb '@' A v PHP .

Takže pre nejaké zázemie na to, ako som narazil na tento problém, v mojom webových aplikácií mám tendenciu používať rovnaký formulár pre vkladanie dát do MySQL databázy. Keď budem mať nejaký 'id' číslo nastavujú pomocou GET premenné potom, že spúšte načítať z databázy, inak som pridávania nových dát.

V mojom formulárové prvky často som nastaviť hodnotu poľa formulára na niečo ako <? = $ Data ['fieldValue'];?> to funguje dobre, pri načítaní dát, ale keď som na vkladanie nových dát dostanem formulár vyplnený, ako takto (poznámka o svoje prihlasovacie údaje, alebo keď som testovanie som hlásenia chýb nastavená na E_ALL, takže môžem uistiť, že všetko funguje správne):

Upozornenie: Undefined variable: dáta v / home / public_html / dataEdit.php on line 69

Takže to, čo som nakoniec skončil robí písal dlhšie (škaredšie) kód, ktorý povedal, <? if (isset ($ data ['fieldValue'])) {echo $ data ['fieldValue'];}?> skvele. Nie tak celkom

Potom som narazil na chyby obsluhy kontrolu v PHP, proste tým '@' pred symbol operátora (v podstate čokoľvek, čo môže vrátiť výsledok) Vyššie uvedený problém je vyriešený. Napríklad som si teraz môžu svoje hodnoty parametra <;? = @ $ Data ['fieldValue']>. Ak premenná nie je nastavená (tj chyba by byť generované), potom je chyba potlačená.

Poznámka: Použitie '@' symbol môže potlačiť veľké chyby a zakryť skutočnosť, že časť vašich stránok nebeží správne, takže buďte opatrní!

Required













Panorama Téma, ktoré Themocracy

5 návštevníci online teraz
2 osoby, 3 roboty, 0 členov
Max návštevníkov dnes: 16 v 12:39 UTC
Tento mesiac: 26 na 07.05.2011 00:35 UTC
Tento rok: 130 v 28-03-2011 22:40 UTC
Všetky čas: 130 v 28-03-2011 22:40 UTC