• 20-01-2015, 11:42:48
    #1
    bir script yazdım çalışıyor fakat local serverimde wampserver kullanmaya başladım . aşağıda verdiğim hataları gösteriyor wamp serverde bu hataları nasıl kapatabilirim yardımcı olursanız çok sevinirim saygılar .
  • 20-01-2015, 11:44:32
    #2
    // Hata raporlamayı tamamen kapatalım
    error_reporting(0);
  • 20-01-2015, 12:00:32
    #3
    @ tagını kullanbilirsin. Raporlamayı tamamen kapatmak bazen sakıncalı olabiliyor diğer hatalarınıda göremeyebilirsin bu yüzden @ ile görünmez yapman daha iyi ayrıca if ilede bir yapı oluşturup isset mantığı kurup hatalarını giderebilirsin.
  • 20-01-2015, 12:12:18
    #4
    ahmetshen adlı üyeden alıntı: mesajı görüntüle
    // Hata raporlamayı tamamen kapatalım
    error_reporting(0);
    hocam bunu yaptım ama t string dahil tüm hataları kapatıyor . Sadece undefined index ve use of undefined costant hatalarını kapayabileceğim bişey arıyorum varmı böyle bişey

    AskinDemir adlı üyeden alıntı: mesajı görüntüle
    @ tagını kullanbilirsin. Raporlamayı tamamen kapatmak bazen sakıncalı olabiliyor diğer hatalarınıda göremeyebilirsin bu yüzden @ ile görünmez yapman daha iyi ayrıca if ilede bir yapı oluşturup isset mantığı kurup hatalarını giderebilirsin.
    isset mantığı çok zaman alır. undefined index ve use of undefined costant hatalarını kapayabileceğim birşey var mı
  • 20-01-2015, 12:16:28
    #5
    @ tagını kullandın mı ? ayrıca bir fonksiyondan geçirebilirsin sonucta fonksiyonu birkez yazacaksın heryerde kullanabilirsin.
  • 20-01-2015, 15:54:22
    #6
    error_reporting(E_ALL ^ E_NOTICE); bir dener misin, eÄŸer olmaz ise.

    $id = '';
    $bul = '';
    $tarih = ''; şekllinde sayfa başına bir ekleme yap, yada bu kodların çalışacagı yeri if(_POST) ile kontrol ettir.
  • 20-01-2015, 18:18:22
    #7
    Pek çok yerde anlatılanların aksine hata göstermeyi kesinlikle kapatmayın ve @ işaretini kullanmayın. Hatayı gidermemiş sadece gizlemiş olursunuz ve uygulamaya göre bunun sonuçları çok ciddi olabilir. Log şişirmekten açık oluşturmaya kadar gidebilir. Bunun yerine hatanın nasıl oluştuğunu bulun ve ona göre bir kod oluşturun.


    "Undefined index" ve "undefined variable" türü hatalar değişken tanımlanmadan kullanılmaya çağırıldığında oluşur.


    Örneğin aşağıdaki kodlarda get ile gelen bir "git" sorgusu olursa bunu $git değişkenine aktarıyor ve sonrada ekrana yazıyor. "git" sorgusu olmadığında "undefined variable" hatası verecektir.

    if (isset($_GET['git']))
    {
        $git = $_GET['git'];
    }
    
    echo $git;
    Bunu çözmenin birkaç yolu var, değişkeni önceden oluşturmak veya ekrana yazmadan önce kontrol etmek.

    Önceden boş değişken tanımlamak:

    $git = '';
    if (isset($_GET['git']))
    {
        $git = $_GET['git'];
    }
    
    echo $git;
    DeÄŸiÅŸkeni kontrol etmek:

    if (isset($_GET['git']))
    {
        $git = $_GET['git'];
    }
    
    if (isset($git))
    {
         echo $git;
    }

    Kodlar teoriktik, esas kodlara göre çok farklı çözümler üretilebilir.

    "Undefined index" hatası da "undefined variable" hatasının dizi halidir, yani değişken dizi değişkendir $url['git'] gibi.

    .
  • 22-01-2015, 19:32:21
    #8
    Alexis adlı üyeden alıntı: mesajı görüntüle
    Pek çok yerde anlatılanların aksine hata göstermeyi kesinlikle kapatmayın ve @ işaretini kullanmayın. Hatayı gidermemiş sadece gizlemiş olursunuz ve uygulamaya göre bunun sonuçları çok ciddi olabilir. Log şişirmekten açık oluşturmaya kadar gidebilir. Bunun yerine hatanın nasıl oluştuğunu bulun ve ona göre bir kod oluşturun.


    "Undefined index" ve "undefined variable" türü hatalar değişken tanımlanmadan kullanılmaya çağırıldığında oluşur.


    Örneğin aşağıdaki kodlarda get ile gelen bir "git" sorgusu olursa bunu $git değişkenine aktarıyor ve sonrada ekrana yazıyor. "git" sorgusu olmadığında "undefined variable" hatası verecektir.

    if (isset($_GET['git']))
    {
        $git = $_GET['git'];
    }
    
    echo $git;
    Bunu çözmenin birkaç yolu var, değişkeni önceden oluşturmak veya ekrana yazmadan önce kontrol etmek.

    Önceden boş değişken tanımlamak:

    $git = '';
    if (isset($_GET['git']))
    {
        $git = $_GET['git'];
    }
    
    echo $git;
    DeÄŸiÅŸkeni kontrol etmek:

    if (isset($_GET['git']))
    {
        $git = $_GET['git'];
    }
    
    if (isset($git))
    {
         echo $git;
    }

    Kodlar teoriktik, esas kodlara göre çok farklı çözümler üretilebilir.

    "Undefined index" hatası da "undefined variable" hatasının dizi halidir, yani değişken dizi değişkendir $url['git'] gibi.

    .
    Bravo, çok güzel cevap yazmışsın.
    Bunların hepsi birer bugdur, hatadır, düzeltilmesi gerekir. Php seni uyarıyor, @ ile sadece sessizleştirirsin, bu da yaptığı uygulama için iyi birşey değil. @ ile yaptıkların, yapacakların; Ağlayan bebeği duymamak için kulaklarını tıkamak veya ağlayan bebeğin ağzını tıkamak gibi, oysa önemli olan problemin ne olduğunu bulmak ve ortadan kaldırmak.
  • 23-01-2015, 01:48:37
    #9
    hddntha adlı üyeden alıntı: mesajı görüntüle
    Bravo, çok güzel cevap yazmışsın.
    Bunların hepsi birer bugdur, hatadır, düzeltilmesi gerekir. Php seni uyarıyor, @ ile sadece sessizleştirirsin, bu da yaptığı uygulama için iyi birşey değil. @ ile yaptıkların, yapacakların; Ağlayan bebeği duymamak için kulaklarını tıkamak veya ağlayan bebeğin ağzını tıkamak gibi, oysa önemli olan problemin ne olduğunu bulmak ve ortadan kaldırmak.
    Yalnız arkadaşın da dediği gibi @ ile hata kapatmak sağlıklı değil. Bu derleyici yavaşlatacaktır, yavaşlıyorsa fazladan çalışacak gereksiz iş yapılacak demektir. Ayrıca ekrana hata göstermese de hata olmadığı anlamına gelmeyeceğinden loglamaya devam edecektir. fazladan loglama işlemi geldiği gibi bir de log boyutları yükseldikçe yavaşlama devam edecektir.

    arada undefined constant gördüm, bunun sebebi tırnaksız string yazmaya çalışmaktır. örneğin; $sonuc=$bul[tarih1]; dediğinizde işlem çalışır ama bu tamamen PHP nin iyilik severliğindendir, diğer diller bu konuda daha katıdır. bunun doğrusu $sonuc=$bul['tarih1']; kullanımıdır. İlla ben tırnak içinde değişken kullanırım, elim alışmış denilirse, ki bunu da tavsiye etmem, $sonuc=$bul["tarih1"]; şeklinde yazılır.

    Şahsınıza karşı laf söylemediğim gibi Alexis'in de sadece daha doğru olanı belirtmek istediğinden eminim. Farkına varmadan neler neler yanlış yapılıyor, en azından farkında olduğumuz yanlışlardan vazgeçelim.
    Saygılarımla