Ne bu fonksiyonu nesi var?

3 Cevap php

Benim uygulama çevrimiçi veya çevrimdışı olup olmadığını belirlemek için bu işlevi kullanarak ediyorum:

function online() {
   if ($online == "0") {
     if($_SESSION['exp_user']['userlevel'] != "1") {
          include("error/offline.php");
          exit();
                                                   } 
                        }
                   }

Veri değeri veritabanında 0'a set, ve $online = '0 'yapar ile Ancak, neden hata / offline.php bu whoose kullanıcı düzeyinde dahil değildir 1 değil mi?

Teşekkürler :)

3 Cevap

$online, global bir değişken nedir? Böylece yapmak varsa global $online bir işlev içinde erişmek için. Şu anda $online dize "0" eşit olmayan bir varsayılan null değerdir.

"Kaos" global değişkenler hakkında doğru. Eğer emin değilseniz ama, böyle bir şey hata ayıklamak için tek yol "echo" ekleyebilir ya da çeşitli yerlerde ifadeleri "die", kodda neler olup bittiğini görmek için etmektir. O kadar alırsa görmek için ilk "if" ifadesi içinde bir tane koyun, daha sonra ikinci bir "if" ifadesi bir. Değişkenlerin değerleri Echo, test ediyoruz, böylece koşulları çalışmıyor neden söyleyebilirim.

Hata ayıklama için JW adlı noktaya. Bunun yerine böyle bir Kaydedici veya ekolar gibi mesajları oturum için arayabileceğiniz ayıklamak gibi hızlı bir sınıf yapmak olsa ekolar kodunuzu çöp arasında. Ya da daha iyisi gibi http://www.indelible.org/php/Log/guide.html gibi bir exisitng aracını kullanın. Bu [Firefox FirePHP] [2] hata ayıklama izin ve tekrar yankı ifadeleri temizlemek zorunda kalmayacaksınız. Sadece tarayıcı yineleme test hata ayıklama için kullanmayı planlıyorsanız ya da sadece doğrudan Firebug kullanın.

Daha sonra hepsini temizlemek veya hata günlüğü ve raporlama ölçümleri için en büyük uygulamalar olması gereken bir kod logger olarak kullanabilirsiniz.