Pembolehubah PHP tidak sedia ada dan bentuk
Saya terserempak dengan sesuatu yang saya tidak sedar hari ini yang amat berguna .... kawalan ralat operator '@' Â di dalam PHP .
Jadi, untuk beberapa latar belakang untuk bagaimana saya terserempak dengan masalah ini, dalam aplikasi web saya, saya cenderung untuk menggunakan borang yang sama untuk memasukkan data ke dalam satu pangkalan data MySQL. Jika saya mempunyai sejenis nombor 'id' yang ditetapkan melalui satu pemboleh ubah GET kemudian yang mencetuskan beban dari pangkalan data, jika tidak, saya menambah data baru .
Dalam unsur-unsur borang saya, saya sering menetapkan nilai medan bentuk kepada sesuatu seperti <? = $ Data ['fieldValue'];?> ini berfungsi dengan baik apabila pemuatan data tetapi apabila saya memasukkan data baru saya dapatkan borang yang diisi sebagai berikut (catatan tentang login saya atau apabila saya menguji saya telah pelaporan kesilapan yang ditetapkan untuk E_ALL supaya boleh saya pastikan semuanya berjalan dengan betul):
Notis: Undefined pembolehubah: data dalam rumah / / public_html / dataEdit.php pada 69 baris
Jadi apa yang saya akhirnya berakhir lakukan adalah menulis lagi (uglier) kod yang berkata, <? jika (isset ($ data ['fieldValue'])) {echo $ data ['fieldValue'];}?> Tidak betul-betul hebat ![]()
Kemudian saya tersandung di seluruh pengendali kawalan kesilapan dalam PHP, hanya dengan meletakkan simbol '@' sebelum pengendali (pada asasnya apa-apa yang boleh mengembalikan hasil) masalah di atas diselesaikan. Sebagai contoh, saya kini boleh membuat untuk parameter nilai <= @ $ data ['fieldValue'];?> . Jika pemboleh ubah tidak ditetapkan (iaitu ralat akan dijana) maka kesilapan yang ditindas.
Nota: Menggunakan simbol '@' boleh menyekat kesilapan utama dan menyembunyikan hakikat bahawa sebahagian daripada laman web anda tidak berjalan dengan betul, jadi berhati-hatilah!
















































