Php etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Php etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

27 Kasım 2017 Pazartesi

Codeigniter-bootbox kullanımı-15

Merhaba arkadaşlar bu dersimizde yapmış olduğumuz örneğimize Bootbox ekleme işlemini yapacağız.Bunu yapmamızın sebebi örneğin kullanıcı silmek istediğimizde bize bir dialong penceresi çıkacak ve kullanıcıyı silmek istiyor musunuz diye soracak.
ilk olarak buradan butbox js dosyasını indirip assets klasörümüze yapıştırıyoruz.Projemizde indirdiğimiz dosyası script kodu olarak ekliyoruz.
<script src="<?php echo base_url("assets/bootbox.min.js")?>"></script>

Daha sonra silme butonundaki linkimizi aşağıdaki gibi ayarlıyoruz.

<a class="removeBtn"  dataURL="<?php echo base_url("welcome/delete_kullanici/$kbilgi->id") ?>">Sil</a>




Silme linkine tıklandığında diyalog çıkması için önceki örneğimizdeki  $(document).ready(function() fonksiyonun içine aşağıdaki script codlarımızı ekliyoruz.

   $(".removeBtn").click(function () {



        var dataURL = $(this).attr("dataURL");

        var  remove = bootbox.confirm("Silmek istiyor musunuz ?", function(result) {

            if (result == true) {

                window.location.href = dataURL;

            }

        });

    });




Şimdi projemizi çalıştırıyoruz.

Aşağıdaki gibi hatalarla karşılaştık.
Bustrupt eklememiz gerektiğini söylüyor bizde projemize aşağıdaki  kodları ekliyoruz.

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">



<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

Şimdi projemizi çalıştırıyoruz.Bu sefer jquery bulunamadı diye bi hata verdi ama bizde "jquery.min.js" dosyamız zaten var ve önceki projemizde eklemiştik.Bu sorunu çözmek için
"bootstrap.min.js" script inin üzerine "jquery.min.js" scriptini taşıyoruz.


Projeyi tekrar çalıştırıyoruz.



Bu sefer versiyon hatası verdi .Versiyonumuzu yükseltmemiz gerektiği hatasını verdi.Bu hatayı çözmek için en yüksek versiyonu indirdim ama yine aynı hatayı verdi.Meğer tek sıkıntı kaydettiğimiz jquery.min.js dosyasının adına versiyon numarasını eklememiz gerekiyormuş.Dosya adını "jquery-2.2.3.min.js" olarak değiştirip.scriptimizin adını aşağıdaki gibi değiştiriyoruz.

   <script src="<?php echo base_url("assets/jquery-2.2.3.min.js")?>"></script>




Şimdi projemizi çalıştırıyoruz.Bu seferde fancybox hata verdi :)

Bunu çözmek için  buradan  fancybox dosylarımız indirip içinden "jquery.fancybox.min.css", "jquery.fancybox.js" dosyaları kopyalayıp bizim assets içindeki dosyalarla  değiştiriyoruz.

<link rel="stylesheet" href="<?php echo base_url("assets/jquery.fancybox.min.css")?>">

<script src="<?php echo base_url("assets/jquery.fancybox.js")?>"></script>





Şimdi projemizi çalıştırıyoruz.Hatalarımız gitti.


Son olarak "bootstrap.min.js" ,"bootstrap.min.css" dosyalarında projemizde yazan linklerden indirip projemizin assers klasörüne ekleyip adreslerini değiştiriyoruz.welcome_message.php  viewimizin son hali aşagıdaki gibi olacaktır.
<!DOCTYPE html>

<html lang="en">

<head>





  <meta charset="utf-8">

  <title>Welcome to CodeIgniter</title>



<link rel="stylesheet" href="<?php echo base_url("assets/bootstrap.min.css")?>">


   <script src="<?php echo base_url("assets/jquery-2.2.3.min.js")?>"></script>

<script src="<?php echo base_url("assets/bootstrap.min.js")?>"></script>






   <script src="<?php echo base_url("assets/bootbox.min.js")?>"></script>



<link rel="stylesheet" href="<?php echo base_url("assets/jquery.fancybox.min.css")?>">

<script src="<?php echo base_url("assets/jquery.fancybox.js")?>"></script>



<script type="text/javascript">

  $(document).ready(function() {

        //https://github.com/fancyapps/fancyBox

         $(".fancybox").fancybox({





        });



          $(".removeBtn").click(function () {



        var dataURL = $(this).attr("dataURL");

        var  remove = bootbox.confirm("Silmek istiyor musunuz ?", function(result) {

            if (result == true) {

                window.location.href = dataURL;

            }

        });

    });



  });

  </script>





 

</head>

<body>



<div id="container">

 <h1>Merhaba Dünya!</h1>



<form role="form" action="<?php echo base_url("welcome/add_Kullanici") ?>" method="post">

 

  <input type="text" name="kullanici_adi"> <br>



  <input type="text" name="kullanici_soyadi"> <br>

 <button type="submit" >Gönder</button>



</form>

</div>

<br><br>

<div>

 



 <?php foreach ($kullnaicilar as $kbilgi) { 

   ?>

   <li>



 <a class="thumbnail fancybox" rel="ligthbox" href="<?php echo base_url("resim") . "/" .$kbilgi->resim_url ?>">

    <img

               width="80"

         src="<?php echo base_url("resim") . "/" .$kbilgi->resim_url ?>">



         </a>    

<div><?php echo $kbilgi->k_ad." ".$kbilgi->k_soyad  ?> <a class="removeBtn"  dataURL="<?php echo base_url("welcome/delete_kullanici/$kbilgi->id") ?>">Sil</a>| <a href="<?php echo base_url("welcome/update_kullaniciPage/$kbilgi->id") ?>">Güncelle</a>|

          <a href="<?php echo base_url("welcome/newresim/$kbilgi->id") ?>">Resim Ekle</a>

</div>

    

   </li>

    

<?php } ?>

</div>







</body>

</html>




Şimdi projemizden bir kişi silmek istediğimizde bir uyarı mesajı çıkmakta.


Umarım faydalı olmuştur siz direk projenin son halini buradan indirip kullana bilirsiniz.Ben ekleme sırasında karşılaştığım hataları ve çözümleri size göstermek için yazdım.Bir sonraki dersimizde görüşmek üzere.














26 Kasım 2017 Pazar

Codeigniter-fancybox kullanımı-14

FancyBox ile projenizde ki resimleri bir pencere ve slayt şeklinde gösterebilirsiniz.Bizde yapmış olduğumuz örneğe bu özelliği ekleyeceğiz.İlk olarak projemizde welcome_message.php viewimizdeki <head> tagları arasına alltaki script ve link bloglarını ekliyoruz.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://fancybox.net/js/fancybox-1.3.4/jquery.fancybox-1.3.4.js"></script>
<link rel="stylesheet" href="http://fancybox.net/js/fancybox-1.3.4/jquery.fancybox-1.3.4.css" media="screen">
<script type="text/javascript">
  $(document).ready(function() {  
        //https://github.com/fancyapps/fancyBox
         $(".fancybox").fancybox({
        });
  
  });
  </script>

Son olarak kişilerimizin resimlerini gösterdiğimiz img e link ekliyoruz.Aşağıdaki gibi ayarlıyoruz.
<a class="thumbnail fancybox" rel="ligthbox" href="<?php echo base_url("resim") . "/" .$kbilgi->resim_url ?>">
<img 
               width="80"
         src="<?php echo base_url("resim") . "/" .$kbilgi->resim_url ?>"> 
         </a> 

Evet kullanıcı resmine tıkladığımızda ki ekran görüntümüz.

Şimdi projemizin her defasında internete bağlanıp fancybox ı yüklemesini istemeyiz bunun için .js ve css kodlarınızı projemize indirip ekleyelim. style ve script linkerimizi kopyalıp tarayıcımıza açıp sağ tuşla tıklayıp farkı kaydet seceneğini secerek projemizin ana dizininde assets adı altında bi klasör oluşturup buraya ekliyoruz.Daha sonra projemizdeki css ve js linkerini kendi projemizdeki adreslerle aşağıdaki gibi değiştiriyoruz.

 <script src="<?php echo base_url("assets/jquery.min.js")?>"></script>
<script src="<?php echo base_url("assets/jquery.fancybox-1.3.4.js")?>"></script>
<link rel="stylesheet" href="<?php echo base_url("assets/jquery.fancybox-1.3.4.css")?>" media="screen">
<script type="text/javascript">
  $(document).ready(function() {  
        //https://github.com/fancyapps/fancyBox
         $(".fancybox").fancybox({
        });
  
  });
  </script>

Şimdi projemizi çalıştıralım.Projemizi çalıştırdığımızda hata mesajları ile karşılaştık.


Hataya baktığımızda bazı php uzantılı dosyaları bulamadığını görüyoruz.Bu resimleri eklemek için buradan dosyaları indiriyoruz ve hatada yazılan resimleri projemizdeki assets klasörüne kopyalıyoruz. Şimdi projemizi tekrar çalıştırıyoruz.Hatalarımız aşağıda gözüktüğü gibi gitti.

Umarım faydalı olmuştur.Projenin son halini buradan indirebilirsiniz.

25 Kasım 2017 Cumartesi

Php ile Yönetim Panelli Web Site Yapımı

Bu projeyi youtube da Emrah Yüksel hocamın anlattığı video serisindeki örneği izleyerek yaptım. Projede hatır template kullanarak php,pdo,mysq ile yönetim panelli web sitesini yaptık.Bu projede
 *Admin Paneli
      -Hakkımızda
      -Slider işlemleri
      -Dinamik menü işlemleri
      -İçerik işlemleri
      -Ayarlar Bölümü
             -Genel Ayarlar
              -İletişim Ayarları
              -Api  Ayarları
              -Sosyal Ayarlar
              -Mail Ayarları
*Site ön  yüzü
   -Menü
    -Ana Sayfa
    -Slider
    -İletişim Sayfası
   -Haberler
   -Haber detay
   -Sayfalama
   -Seo url
   -Seo Anahtar Kelime
   -Site içi arama
*Kullanıcı giriş

Sitenin Görselleri

             
          
             

                

                 


Sitenin kodlarına buradan ulaşabilirsiniz.


Codeigniter-File Uploading Class ve Resim Ekleme-Silme-13

Merhabalar ilk olarak resim bilgilerini tutmak için kullanıcı tablosuna resim_ad ve resim_url sütunlarını ekliyoruz.Resimlerin kaydedileceği "resim" diye bir klasör oluşturuyoruz.Bu klasörü projemizin "C:\xampp\htdocs\ci_blog" kısmına oluşturuyoruz.Tablomuzu aşşağıdaki gibi değiştiriyoruz.







listemizdeki kişilerin yanına Resim Ekle diye bir link ekleyip tıklantığında gideceği yeri  href="<?php echo base_url("welcome/newresim/$kbilgi->id") ?>" şeklinde yazalım.Burda welcome controlerı içindeki newresim metodunu çağırıyoruz ve parametre olarak kullanıcı id sini gönderiyoruz.Bu newresim metodu kısaca bizim dosyadan resim seçip ekle butonunun olduğu sayfayı yükleyip,view e kullanıcının id sini göndermektedir.


Resim ekle linkine tıklandığında dosyadan resim seçebileceği ve kaydet butonunun olduğu bir new_resim.php adında sayfa oluşturuyoruz.Görüntüsü aşağıdaki gibidir.Formun actionuna contolerımızdaki resim ekleme işlemini yapacağımız url yi yazıyoruz ve yine parametre olarak kullanıcı id sini gönderiyoruz.



<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Welcome to CodeIgniter</title>
</head>
<body>
<div id="container">
 <div >
  <form role="form" enctype="multipart/form-data" method="post" action="<?php echo base_url("welcome/add/$id");?>">
                    <label class="" for="first-name">Resim Seç<span class="required">*</span>
                    </label>
                    <input type="file"  required="required" name="resim" >
         <button type="submit" >Ekle</button>
                </form>
                </div>
</div>
</body>
</html>
----------

Şimdi welcome controler daki newresim metodumuzu yazalım.

   public function newresim($id){
            $data["id"] =$id;
            $this->load->view("new_resim",$data);
                  }


welcome controler daki  modelle bağlantı kurup resim ekleme işleminin yapıldığı add metodumuzu yazalım.

 public function add($id){
                //resim ekleneceği klasör
                   $config['upload_path']          = 'resim/';
                //eklenecek resimin tipi
                $config['allowed_types']        = 'gif|jpg|png';
                //ekleme işleminde resmin adını şifreli bir şekilde kaydetmek için
                 $config['encrypt_name']     = true;
                //upload kütüphanesini oluşturduğumuz confige göre yüklüyoruz
                $this->load->library('upload', $config);
//dosya yükleme işlemini yapıyoruz
                if ( ! $this->upload->do_upload("resim"))
                {
                  //eğer yükleme işlemi başarısız olursa 
                  //hata dizimizi oluşturuyoz ve hatamızı alıyoruz
                        $error = array('error' => $this->upload->display_errors());
                  //hataları yazdırıyotuz
                     print_r($error);
                }
                else{
    //resim yükleme işlemi başarılı olursa
     //yüklenen resmin blgilerini alıyoruz
              $data = array('upload_data' =>$this->upload->data());
              //yüklenen resmin adını alıyoruz
              $img_id = $data["upload_data"]['file_name'];
             //veri tabanına yükleme işlemi yapmak için gerekli bilgilerin olduğu diziyi oluşturuyoruz
              $date=array(
              "resim_ad"=>$_FILES["resim"]['name'],
              "resim_url"=>$img_id
                 );
//veritabanında kişinin resim bilgilerini güncellemek için metodumuzu çağırıyoruz.
                 $result=$this->kullanici_model->update(array("id"=>$id),$date);
//veritabanında güncelleme işlemi başarılı ise
                if($result){
                  //controlerımızın adını yazıp yönlendirme yapıyoruz
                 redirect("welcome");
                           }
                      else{
                //yükleme işlmei başarısız ise tekrar resim seçme sayfasını çağırıyoruz    
                   redirect("welcome/newresim/$id");
                         }
}
}

Son olarak eklenen resimleri kişimizin bilgileri ile birlikte gösterelim.Bunun için welcome_message.php viewimize img ekliyoruz.img in src sine de resim klasörümüzdeki yolu yazıyoruz.Kullanıcı bilgilerini zaten çektiğimiz için contorlerda herhangi bir değişiklik yapmamıza gerek yok.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Welcome to CodeIgniter</title>
</head>
<body>
<div id="container">
<h1>Merhaba Dünya!</h1>
<form role="form" action="<?php echo base_url("welcome/add_Kullanici") ?>" method="post">
  <input type="text" name="kullanici_adi"> <br>
  <input type="text" name="kullanici_soyadi"> <br>
 <button type="submit" >Gönder</button>
</form>
</div>
<br><br>
<div>
<?php foreach ($kullnaicilar as $kbilgi) {
?>
<li> <img 
               width="80"
         src="<?php echo base_url("resim") . "/" .$kbilgi->resim_url ?>">      
<div><?php echo $kbilgi->k_ad." ".$kbilgi->k_soyad  ?> <a href="<?php echo base_url("welcome/delete_kullanici/$kbilgi->id") ?>">Sil</a>| <a href="<?php echo base_url("welcome/update_kullaniciPage/$kbilgi->id") ?>">Güncelle</a>|
          <a href="<?php echo base_url("welcome/newresim/$kbilgi->id") ?>">Resim Ekle</a>
</div>
  </li>
<?php } ?>
</div>
</body>
</html>

Ekran çıktımız.



Son olarakte kişi silme işleminde klasöre kaydettiğimiz resmi de silelim.Bunun için delete_kullnaici metodunu aşağıdaki gibi değiştiriyoruz.

  public function delete_kullanici($id){
//ilk olarak silinecek kullanıcı id isne göre kullanıcıyı getiriyoruz
      $kullanici = $this->kullanici_model->get(array("id" => $id));
//kullanıcının resminin url sini alıyoruz
    $file_name = FCPATH ."resim/$kullanici->resim_url";
//resmmi unlink ile kaldırıyoruz
    if(unlink($file_name)){
//eğer resim dosyadan silindi ise veritabanından resmi siliyoruz
        $delete=$this->kullanici_model->delete(array("id"=>$id));
//veritabanından silme işlemi başarıle ile gerçekleştirilirse
if($delete){
       //gelen verileri tutacak sınıf nesnesi üretiyoruz
            $data=new stdClass();
            //gelen verileri nesnemize atıyoruz
           $data->kullnaicilar=$this->kullanici_model->getAll();
           //view i çağırıp gelen verileri view e gönderiyoruz
              $this->load->view('welcome_message',$data);
}
    }     
        }

Model ve controler sınıfımızın son halleri.

kullanici_model.php

<?php 
class kullanici_model extends CI_Model
{
//model yapıcı fonksiyonumuz
public function __construct()
    {
        parent::__construct();
   // ekleme yapacağımız tablomuzun adını burda ekliyoruz
    //her defasında yazmıyalım diye
        $this->table = "kullanici";
    }
//veritabanına ekleme işlemini yaptığımız metotumuz
//parametre olarak bir array alıyor
    public function insert($data=array()){
//ilk parametre eklenecek tablo,ikincisi eklenecek data
    $insert=$this->db->insert($this->table,$data);
    return $insert;
    }
     public function getAll(){
//veri tabanımızdan kullanici adlı tablodan tüm sonuçları getiren sorgu
        $select=$this->db->get($this->table)->result();
        return $select;
    }
//id ye göre kullanıcı getiren metot 
 public function get($where=array()){
//kullanıcıyı getiren satır sadece tek satır döndürür
$row = $this->db->where($where)->get($this->table)->row();
        return $row;
    }
     public function delete($where=array()){
//veri tabanından parametre olarak gelen id deki kişiyi silen kısım
//delete metodunda ilk parametre tablo ismi diğeri where kısmı kisi neye göre silinecekse o biz gelen id değerine göre sileceğiz.
        $delete=$this->db->delete($this->table,$where);
        return $delete;
    }
       public function update($where=array(),$data){
    //veri tabanından parametre olarak gelen id deki kişiyi güncelleyen kısım
     $this->db->where($where);
     $update=$this->db->update($this->table, $data); 
        return $update;
    }
}
 ?>


welcome.php contoler

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller {
//sınıfımızın yapıcı fonksiyonu
public function __construct()
    {
    //ilk önce üst sınıfın yapıcı fonksiyonu çağrılır
        parent::__construct();
        //model sınıfımızı yüklüyoruz.
        $this->load->model("kullanici_model");
    }
public function index()
{
//url ye controlerımızn ismi yazıldığında ilk olarak index  metodu çağrılır.
    //bir standat sınıf nesnesi oluşturup mddelden gelen değerleri atıyoruz.
    $data=new stdClass();
    $data->kullnaicilar=$this->kullanici_model->getAll();
    //viewimizi çağırıp modelden gelen değerleri viewimize gönderiyoruz
$this->load->view('welcome_message',$data);
}
   public function add_Kullanici(){
        $ad=$this->input->post("kullanici_adi");
        $soyad=$this->input->post("kullanici_soyadi");
//gelen verileri bir diziye aktarıyoruz "k_ad","k_soyad" veritabanımızdaki kolon adları
        $data=array("k_ad" => $ad ,
                    "k_soyad" => $soyad 
        );
//aldığımız değerleri kayıt için model sınıfımızın insert metodunu çağırıyoruz 
//gelen sonucu bir değişkene atıyoruz.
       $insert=$this->kullanici_model->insert($data);
//insert başarılı ise gerçekleşmişse viewimizi çağırıyoruz
      if($insert){
          $this->load->view("kullanici");
         }
        }
        public function delete_kullanici($id){
//ilk olarak silinecek kullanıcı id isne göre kullanıcıyı getiriyoruz
      $kullanici = $this->kullanici_model->get(array("id" => $id));
//kullanıcının resminin url sini alıyoruz
    $file_name = FCPATH ."resim/$kullanici->resim_url";
//resmmi unlink ile kaldırıyoruz
    if(unlink($file_name)){
//eğer resim dosyadan silindi ise veritabanından resmi siliyoruz
        $delete=$this->kullanici_model->delete(array("id"=>$id));
//veritabanından silme işlemi başarıle ile gerçekleştirilirse
if($delete){
       //gelen verileri tutacak sınıf nesnesi üretiyoruz
            $data=new stdClass();
            //gelen verileri nesnemize atıyoruz
           $data->kullnaicilar=$this->kullanici_model->getAll();
           //view i çağırıp gelen verileri view e gönderiyoruz
              $this->load->view('welcome_message',$data);
}
    }     
        }
            public function update_kullaniciPage($id){
              //güncelleyeceğimiz kişinini bilhgilerini tutmak için nesne oluşutruyoruz
              $data=new stdClass();
        //id sini bildiğimiz kişinini bilgileri getiriyoruz
            $data->kullnaicilar=$this->kullanici_model->get(array("id"=>$id));
      //aldığımız bilgileri güncelleme sayfasını yükleyip bilgileri view e gönderiyoruz
              $this->load->view('kullanici_guncellePage',$data);
            }
         public function update_kullanici($id){
          $ad=$this->input->post("kullanici_adi");
          $soyad=$this->input->post("kullanici_soyadi");
//gelen verileri bir diziye aktarıyoruz "k_ad","k_soyad" veritabanımızdaki kolon adları
          $data=array("k_ad" => $ad ,
                    "k_soyad" => $soyad 
           );
          $update=$this->kullanici_model->update(array("id"=>$id),$data);
//UPDATE işlemi başarılı ise kullanıcıları çekip viewimizi çağırıyoruz
           if($update){
            //gelen verileri tutacak sınıf nesnesi üretiyoruz
            $data=new stdClass();
            //gelen verileri nesnemize atıyoruz
           $data->kullnaicilar=$this->kullanici_model->getAll();
           //view i çağırıp gelen verileri view e gönderiyoruz
              $this->load->view('welcome_message',$data);
            }
        }
        public function newresim($id){
            $data["id"] =$id;
            $this->load->view("new_resim",$data);
                  }
        public function add($id){
                //resim ekleneceği klasör
                   $config['upload_path']          = 'resim/';
                //eklenecek resimin tipi
                $config['allowed_types']        = 'gif|jpg|png';
                //ekleme işleminde resmin adını şifreli bir şekilde kaydetmek için
                  $config['encrypt_name']     = true;
                //upload kütüphanesini oluşturduğumuz confige göre yüklüyoruz
                $this->load->library('upload', $config);
//dosya yükleme işlemini yapıyoruz
                if ( ! $this->upload->do_upload("resim"))
                {
                  //eğer yükleme işlemi başarısız olursa 
                  //hata dizimizi oluşturuyoz ve hatamızı alıyoruz
                        $error = array('error' => $this->upload->display_errors());
                  //hataları yazdırıyotuz
                     print_r($error);
                }
                else{
    //resim yükleme işlemi başarılı olursa
     //yüklenen resmin blgilerini alıyoruz
              $data = array('upload_data' =>$this->upload->data());
              //yüklenen resmin adını alıyoruz
              $img_id = $data["upload_data"]['file_name'];
             //veri tabanına yükleme işlemi yapmak için gerekli bilgilerin olduğu diziyi oluşturuyoruz
              $date=array(
              "resim_ad"=>$_FILES["resim"]['name'],
              "resim_url"=>$img_id
                 );
//veritabanında kişinin resim bilgilerini güncellemek için metodumuzu çağırıyoruz.
                 $result=$this->kullanici_model->update(array("id"=>$id),$date);
//veritabanında güncelleme işlemi başarılı ise
                if($result){
                  //controlerımızın adını yazıp yönlendirme yapıyoruz
                 redirect("welcome");
                           }
                      else{
                //yükleme işlmei başarısız ise tekrar resim seçme sayfasını çağırıyoruz    
                   redirect("welcome/newresim/$id");
                         }
}
}}
?>


Umarım faydalı olmuştur.Örneğimizin kodlarını buradan indirebilirsiniz.Bir sonraki dersimizde görüşmek üzere.

Codeigniter-Database Kullanıcı Güncelleme-12

İlk olarak  kullanici_model.php sınıfımıza update()  metodunu  ve güncelleyeceğimiz kişinin bilgilerini çekmek için get() metodunu ekliyoruz.
<?php

class kullanici_model extends CI_Model
{
 //model yapıcı fonksiyonumuz
 public function __construct()
    {
        parent::__construct();
   // ekleme yapacağımız tablomuzun adını burda ekliyoruz
    //her defasında yazmıyalım diye
        $this->table = "kullanici"; 
    }
//veritabanına ekleme işlemini yaptığımız metotumuz
//parametre olarak bir array alıyor
    public function insert($data=array()){
//ilk parametre eklenecek tablo,ikincisi eklenecek data
     $insert=$this->db->insert($this->table,$data);
     return $insert;

    }
     public function getAll(){
//veri tabanımızdan kullanici adlı tablodan tüm sonuçları getiren sorgu
        $select=$this->db->get($this->table)->result();
        return $select;
    }
//id ye göre kullanıcı getiren metot
 public function get($where=array()){
//kullanıcıyı getiren satır sadece tek satır döndürür
$row = $this->db->where($where)->get($this->table)->row();
        return $row;
    }
     public function delete($where=array()){
//veri tabanından parametre olarak gelen id deki kişiyi silen kısım
//delete metodunda ilk parametre tablo ismi diğeri where kısmı kisi neye göre silinecekse o biz gelen id değerine göre sileceğiz.
        $delete=$this->db->delete($this->table,$where);
        return $delete;
    }
       public function update($where=array(),$data){
    //veri tabanından parametre olarak gelen id deki kişiyi güncelleyen kısım
     $this->db->where($where);
     $update=$this->db->update($this->table, $data);
        return $update;
    }
}

 ?>




Daha sonra controler sınıfımızda güncelleme yapacağımız sayfayı  çağırdığımız update_kullaniciPage() metodunu oluşturuyoruz.Bu metot viewden tıklanan kişinin id sine göre model sınıfımızdan kişi bilgilerini çekip viewimizi çağırarak kişi bilgilerini gönderir.İkinci olarak çağrılan viewde güncelle butonuna basıldığında çalışan metodumuz da update_kullanici() metodunu çağırıyoruz.Bu metot güncellenen bilgileri alıp modelin update() metodunu çağırarak veritabanında güncelleme yapar.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');



class Welcome extends CI_Controller {
//sınıfımızın yapıcı fonksiyonu

 public function __construct()
    {
     //ilk önce üst sınıfın yapıcı fonksiyonu çağrılır
        parent::__construct();
        //model sınıfımızı yüklüyoruz.
        $this->load->model("kullanici_model");
    } 
 public function index()
{
  //url ye controlerımızn ismi yazıldığında ilk olarak index  metodu çağrılır.
    //bir standat sınıf nesnesi oluşturup mddelden gelen değerleri atıyoruz.
    $data=new stdClass();
    $data->kullnaicilar=$this->kullanici_model->getAll();
    //viewimizi çağırıp modelden gelen değerleri viewimize gönderiyoruz
  $this->load->view('welcome_message',$data);
 }
   public function add_Kullanici(){
         $ad=$this->input->post("kullanici_adi");
         $soyad=$this->input->post("kullanici_soyadi");
//gelen verileri bir diziye aktarıyoruz "k_ad","k_soyad" veritabanımızdaki kolon adları
         $data=array("k_ad" => $ad ,
                    "k_soyad" => $soyad
          );
//aldığımız değerleri kayıt için model sınıfımızın insert metodunu çağırıyoruz
//gelen sonucu bir değişkene atıyoruz.
       $insert=$this->kullanici_model->insert($data);
//insert başarılı ise gerçekleşmişse viewimizi çağırıyoruz
      if($insert){
          $this->load->view("kullanici");
         } }
        public function delete_kullanici($id){
//model sınıfımızın delete metodunu çağırarak parametre olaraka id gönderiyoruz
          $delete=$this->kullanici_model->delete(array("id"=>$id));
//delete işlemi başarılı ise kullanıcıları çekip viewimizi çağırıyoruz
           if($delete){
            //gelen verileri tutacak sınıf nesnesi üretiyoruz
            $data=new stdClass();
            //gelen verileri nesnemize atıyoruz
           $data->kullnaicilar=$this->kullanici_model->getAll();
           //view i çağırıp gelen verileri view e gönderiyoruz
              $this->load->view('welcome_message',$data);
            }
        }
            public function update_kullaniciPage($id){
              //güncelleyeceğimiz kişinini bilhgilerini tutmak için nesne oluşutruyoruz
              $data=new stdClass();
        //id sini bildiğimiz kişinini bilgileri getiriyoruz
            $data->kullnaicilar=$this->kullanici_model->get(array("id"=>$id));
      //aldığımız bilgileri güncelleme sayfasını yükleyip bilgileri view e gönderiyoruz
              $this->load->view('kullanici_guncellePage',$data);
            }
         public function update_kullanici($id){
          $ad=$this->input->post("kullanici_adi");
          $soyad=$this->input->post("kullanici_soyadi");
//gelen verileri bir diziye aktarıyoruz "k_ad","k_soyad" veritabanımızdaki kolon adları
          $data=array("k_ad" => $ad ,
                    "k_soyad" => $soyad
           );
          $update=$this->kullanici_model->update(array("id"=>$id),$data);
//UPDATE işlemi başarılı ise kullanıcıları çekip viewimizi çağırıyoruz

           if($update){
            //gelen verileri tutacak sınıf nesnesi üretiyoruz
            $data=new stdClass();
            //gelen verileri nesnemize atıyoruz
           $data->kullnaicilar=$this->kullanici_model->getAll();
           //view i çağırıp gelen verileri view e gönderiyoruz
              $this->load->view('welcome_message',$data);
            }
        }
}
?>




Son olarak viewimize güncelle linkini ekleyip controlırımız daki update_kullanici() metoduna formun action kısmında id yi parametre olarak gönderiyoruz. kullanici_guncellePage.php dosyamız.

<!DOCTYPE html>

<html lang="en">
<head>
 <meta charset="utf-8">
 <title>Welcome to CodeIgniter</title> 
</head>
<body>
<div id="container">
 <h1>Merhaba Dünya!</h1>
<form role="form" action="<?php echo base_url("welcome/update_kullanici/$kullnaicilar->id") ?>" method="post">
  <input type="text" name="kullanici_adi" value="<?php echo $kullnaicilar->k_ad?>"> <br>
  <input type="text" name="kullanici_soyadi" value="<?php echo $kullnaicilar->k_soyad  ?>"> <br>
 <button type="submit" >Güncelle</button>
</form>
</div>

<br><br>
</body>

</html>




Son olarak YAKUP TUSKAN adlı kullanıcının bilgilerini değiştirip güncelleyelim.


Güncelle linkine tıkladığımızda kişibilgilerinin güncelleneceği sayfa açılmaktadır.Burada kişi bilgilerini değiştirip güncelle butonuna basıyoruz.Kişi bilgilerimiz id ye göre getirilerek inputlara dolduruyoruz.İsim ve soy isimi küçük harflerle yazarak güncelle butonuna basıyoruz.



Son olarak güncelleme işlemi başarılı olarak yapıldı.Ekran görüntümüz.





Codeigniter-Database Kullanıcı Silme İşlemi-11

İlk olarak  kullanici_model.php sınıfımıza delete() metodunu ekliyoruz.
<?php

class kullanici_model extends CI_Model

{

 //model yapıcı fonksiyonumuz

 public function __construct()

    {

        parent::__construct();



   // ekleme yapacağımız tablomuzun adını burda ekliyoruz

    //her defasında yazmıyalım diye

        $this->table = "kullanici";

      

    }



//veritabanına ekleme işlemini yaptığımız metotumuz

//parametre olarak bir array alıyor

    public function insert($data=array()){



//ilk parametre eklenecek tablo,ikincisi eklenecek data

     $insert=$this->db->insert($this->table,$data);



     return $insert;

    }



     public function getAll($data=array()){



//veri tabanımızdan kullanici adlı tablodan tüm sonuçları getiren sorgu

        $select=$this->db->get($this->table)->result();



        return $select;

    }



     public function delete($where=array()){



//veri tabanından parametre olarak gelen id deki kişiyi silen kısım

//delete metodunda ilk parametre tablo ismi diğeri where kısmı kisi neye göre silinecekse o biz gelen //id değerine göre sileceğiz.



        $delete=$this->db->delete($this->table,$where);



        return $delete;

    }

}

 ?>




Şimdide welcome.php controler ımıza delete_kullanici() metodunu ekliyoruz.Bu metot parametre olarak kullanıcının id değerini almaktadır. welcome.php sınıfımız.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');



class Welcome extends CI_Controller {



//sınıfımızın yapıcı fonksiyonu

 public function __construct()

    {

     //ilk önce üst sınıfın yapıcı fonksiyonu çağrılır

        parent::__construct();

        //model sınıfımızı yüklüyoruz.

        $this->load->model("kullanici_model");



    } 

 public function index()

 {

  //url ye controlerımızn ismi yazıldığında ilk olarak index  metodu çağrılır.

    //bir standat sınıf nesnesi oluşturup mddelden gelen değerleri atıyoruz.

    $data=new stdClass();

    $data->kullnaicilar=$this->kullanici_model->getAll();

    //viewimizi çağırıp modelden gelen değerleri viewimize gönderiyoruz

  $this->load->view('welcome_message',$data);

 }



   public function add_Kullanici(){



         $ad=$this->input->post("kullanici_adi");

         $soyad=$this->input->post("kullanici_soyadi");



//gelen verileri bir diziye aktarıyoruz "k_ad","k_soyad" veritabanımızdaki kolon adları

         $data=array("k_ad" => $ad ,



                    "k_soyad" => $soyad

          );



//aldığımız değerleri kayıt için model sınıfımızın insert metodunu çağırıyoruz

//gelen sonucu bir değişkene atıyoruz.

       $insert=$this->kullanici_model->insert($data);



//insert başarılı ise gerçekleşmişse viewimizi çağırıyoruz

      if($insert){

          $this->load->view("kullanici");

         }

        }



        public function delete_kullanici($id){



//model sınıfımızın delete metodunu çağırarak parametre olaraka id gönderiyoruz

          $delete=$this->kullanici_model->delete(array("id"=>$id));



//delete işlemi başarılı ise kullanıcıları çekip viewimizi çağırıyoruz

           if($delete){

            //gelen verileri tutacak sınıf nesnesi üretiyoruz

            $data=new stdClass();

            //gelen verileri nesnemize atıyoruz

           $data->kullnaicilar=$this->kullanici_model->getAll();

           //view i çağırıp gelen verileri view e gönderiyoruz

              $this->load->view('welcome_message',$data);



            }

        }

}



?>






Son olarak kullanıcıların listelenip silme işlemini yapacağımız viewimizi düzenliyelim.İlk olarak kullnaıcı isminin yanına sil linki ekliyoruz.Bu link in url sine  controlerımızdaki silme işlemini yapacağımız metodumuzu çağırıyoruz.Bu linke parametre olarak kullanıcı id mizi ekliyoruz.welcome_message.php viewimiz.

<!DOCTYPE html>

<html lang="en">

<head>

 <meta charset="utf-8">

 <title>Welcome to CodeIgniter</title> 

</head>

<body>



<div id="container">

 <h1>Merhaba Dünya!</h1>



<form role="form" action="<?php echo base_url("welcome/add_Kullanici") ?>" method="post">

 

  <input type="text" name="kullanici_adi"> <br>



  <input type="text" name="kullanici_soyadi"> <br>

 <button type="submit" >Gönder</button>



</form>

</div>

<br><br>

<div>



 <?php foreach ($kullnaicilar as $kbilgi) {

   ?>

  

   <li> <?php echo $kbilgi->k_ad." ".$kbilgi->k_soyad  ?> <a href="<?php echo base_url("welcome/delete_kullanici/$kbilgi->id") ?>">Sil</a></li>

    

<?php } ?>

</div>



</body>

</html>




Silme işlemi yapmadan önceki kişilerimizin ekran görüntüsü.

Şimdi mehmet yılmaz adlı kişiyi sil  linkine tıklayalım ve bakalım veri tabanından kişimiz sıkıntısız bir şekilde silindi mi.Sil linkine tıkladıktan sonraki veri tabanındaki ekran görüntümüz.


Böylece silme işlemi başarılı bir şekilde gerçekleştirildi.Umarım faydalı olmuştur.Sonraki dersimizde görüşmek üzere.



Codeigniter-Database Tüm Kullanıcıları Çekme-10

Veri tabanına eklediğimiz verileri çekmek için model sınıfımıza getAll() metodunu oluşturuyoruz ve bu metotla veri tabanındaki eklediğimiz tüm kullanıcıları çekiyoruz. kullanici_model.php sınıfımız.

<?php

class kullanici_model extends CI_Model

{

 //model yapıcı fonksiyonumuz
 public function __construct()

    {
        parent::__construct();
   // ekleme yapacağımız tablomuzun adını burda ekliyoruz
    //her defasında yazmıyalım diye
        $this->table = "kullanici";
    }

//veritabanına ekleme işlemini yaptığımız metotumuz

//parametre olarak bir array alıyor

    public function insert($data=array()){
//ilk parametre eklenecek tablo,ikincisi eklenecek data
     $insert=$this->db->insert($this->table,$data);
     return $insert;
    }
     public function getAll($data=array()){
//veri tabanımızdan kullanici adlı tablodan tüm sonuçları getiren sorgu
        $select=$this->db->get($this->table)->result();
        return $select;

    }

}

 ?>




welcome.php controllerının içindeki index()  metodunmuza modelden verileri getiren ve welcome_message.php çağırıp verilerimizi view e gönderen kodlarımızı ekliyoruz.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller {
//sınıfımızın yapıcı fonksiyonu

 public function __construct()

    {
     //ilk önce üst sınıfın yapıcı fonksiyonu çağrılır
        parent::__construct();
        //model sınıfımızı yüklüyoruz.
        $this->load->model("kullanici_model");
    } 

 public function index()

 {
  //url ye controlerımızn ismi yazıldığında ilk olarak index  metodu çağrılır.

    //bir standat sınıf nesnesi oluşturup mddelden gelen değerleri atıyoruz.

    $data=new stdClass();

    $data->kullnaicilar=$this->kullanici_model->getAll();

    //viewimizi çağırıp modelden gelen değerleri viewimize gönderiyoruz

  $this->load->view('welcome_message',$data);
 }
   public function add_Kullanici(){
         $ad=$this->input->post("kullanici_adi");

         $soyad=$this->input->post("kullanici_soyadi");
//gelen verileri bir diziye aktarıyoruz "k_ad","k_soyad" veritabanımızdaki kolon adları
         $data=array("k_ad" => $ad ,
                    "k_soyad" => $soyad

          );
//aldığımız değerleri kayıt için model sınıfımızın insert metodunu çağırıyoruz

//gelen sonucu bir değişkene atıyoruz.

       $insert=$this->kullanici_model->insert($data);
//insert başarılı ise gerçekleşmişse viewimizi çağırıyoruz

if($insert){

$this->load->view("kullanici");

         }

        }

}

?>






Modelden gelen verileri viewimizde göstermek için welcome_message.php yi aşağıdaki gibi düzenliyoruz.Gelen kullnıcı bilgilerini foreach ile yazdırıyoruz.

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>Welcome to CodeIgniter</title> 
</head>

<body>
<div id="container">

 <h1>Merhaba Dünya!</h1>
<form role="form" action="<?php echo base_url("welcome/add_Kullanici") ?>" method="post">
  <input type="text" name="kullanici_adi"> <br>
  <input type="text" name="kullanici_soyadi"> <br>
 <button type="submit" >Gönder</button>
</form>

</div>

<br><br>

<div>
 <?php foreach ($kullnaicilar as $kbilgi) {
   ?>
   <li> <?php echo $kbilgi->k_ad." ".$kbilgi->k_soyad  ?></li>

<?php } ?>

</div>
</body>

</html>




Son olarak ekran çıktımız.





NodeJS-Socket.io Real Time Chat Uygulaması

Bu chat uygulmasını Node js ve socket.io kullanarak gerçekleştirdim.Veri tabanı olarak MySql kullandım.Kişiler Real time olarak birbirleriyl...