• 20-07-2018, 21:06:47
    #1
    Merhaba arkadaşlar

    Şöyle bir sansürleme fonksiyonu kullanıyorum.

    class Sansur { 
         
    public $yazi; 
    public $bul; 
    public $degis; 
    public $duzenli; 
    public $sql; // sql sorgusu 
    public $bulunacak; // bulunacak sütun 
    public $degistirilecek; // değiştirilecek sütun 
    public $sonuc; 
    
         function __construct(){ 
            $this->yazi=""; 
            $this->bul=""; 
            $this->degis=""; 
            $this->duzenli=""; 
          } 
    
    public function sansural($sql,$bulunacak,$degistirilecek) { 
            $this->bul=array(); 
            $this->degis=array();  
    		$sqla = $db->query($sql);
    		foreach($sqla as $sonuc){  
    		
            $this->bul[]= $sonuc[$bulunacak]; 
            $this->degis[]= $sonuc[$degistirilecek]."***"; 
                }
        } 
    
      public function sansurle($yazi){ 
      $this->duzenli = str_replace($this->bul, $this->degis, $yazi); 
      echo $this->duzenli; 
      } 
    }  
    $sansurum = new Sansur();  
    $sansurum->sansural("SELECT * FROM sansur where sansur_durum='1'","sansur_kelime");
    Kullanımı:
    <?php echo $sansurum->sansurle($row["mesajlar"]); ?>



    Hata kodu

    PHP Warning: Missing argument 3 for Sansur::sansural(), called in /home/public_html/index.php on line 295 and defined in /home/public_html/index.php on line 278


    PHP Notice: Undefined variable: db in /home/public_html/index.php on line 281

    PHP Fatal error: Call to a member function query() on null in /home/public_html/index.php on line 281


    295. Satır

    $sansurum->sansural("SELECT * FROM sansur where sansur_durum='1'","sansur_kelime");
    278. Satır
    public function sansural($sql,$bulunacak,$degistirilecek)

    281. Satır

    $sqla = $db->query($sql);

    Acildir arkadaşlar. Şimdiden çok teşekkür ederim yardımlarınız için. Allah razı olsun
  • 20-07-2018, 21:12:42
    #2
    281. hatanın çözümü için class içinde db değişkenini global olarak çağır
    global $db;
    278 için ise fonksiyonda 3 değer istediğniz ve 2 değer girdiğiniz için hata veriyor
    public function sansural($sql,$bulunacak,$degistirilecek=null)
    yaparsan sorun çözülür gibi
  • 20-07-2018, 21:18:56
    #3
    snrtr adlı üyeden alıntı: mesajı görüntüle
    281. hatanın çözümü için class içinde db değişkenini global olarak çağır
    global $db;
    278 için ise fonksiyonda 3 değer istediğniz ve 2 değer girdiğiniz için hata veriyor
    public function sansural($sql,$bulunacak,$degistirilecek=null)
    yaparsan sorun çözülür gibi
    Merhaba,

    function __construct içerisine
    global $db; ekledim sorun vermedi, Fakat 278 satır için alttaki hatayı verdi.
    PHP Fatal error: Non-abstract method Sansur::sansural() must contain body in /home/public_html/index.php on line 283

    283. satır

    public function sansural($sql,$bulunacak,$degistirilecek=null);
  • 20-07-2018, 21:27:13
    #4
    edward adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    function __construct içerisine
    global $db; ekledim sorun vermedi, Fakat 278 satır için alttaki hatayı verdi.
    PHP Fatal error: Non-abstract method Sansur::sansural() must contain body in /home/public_html/index.php on line 283

    283. satır

    public function sansural($sql,$bulunacak,$degistirilecek=null);
    Kodun sonunda ; var ise ondan yapabilir o hatayı
    public function sansural($sql,$bulunacak,$degistirilecek=null)
    bu şekilde deneyin
  • 20-07-2018, 21:34:05
    #5
    <?php
    
    function private_str($str, $start, $end){
       $after = mb_substr($str, 0, $start, 'utf8');
       $repeat = str_repeat('*', $end);
       $before = mb_substr($str, ($start + $end), strlen($str), 'utf8');
       return $after.$repeat.$before;
    }
    
    echo private_str('qdwqdkwqdwqkdwqd', 3, 5)
    ?>
  • 20-07-2018, 21:36:46
    #6
    snrtr adlı üyeden alıntı: mesajı görüntüle
    Kodun sonunda ; var ise ondan yapabilir o hatayı
    public function sansural($sql,$bulunacak,$degistirilecek=null)
    bu şekilde deneyin
    Teşekkür ederim Hocam. sorun çözüldü Allah razı olsun
  • 20-07-2018, 22:31:14
    #7
    edward adlı üyeden alıntı: mesajı görüntüle
    Teşekkür ederim Hocam. sorun çözüldü Allah razı olsun
    Rica ederim.