Codeigniter Dersleri – 16 – Url Helper (Url Yardımcısı)
Bu dersimizde hazırlamış olduğumuz sipariş tablosuna düzenle ve sil adında iki işlev ekleyeceğiz. Bu linkleri url helper (url oluşturmada yardımcı) ile yapacağız. Öncelikle tablomuzu eski haline çevireceğiz. Geçen ders tablo kütüphanesi ile otomatik tablo yapmıştık.Şimdi o tabloya müdahale edeceğimiz için tekrar eski haline getireceğiz. Eski derslere geri dönüpte zaman harcamamanız için ben buradan eski hallerini tekrar vereceğim. Zaman kaybetmiş olmazsınız.
Önce view dosyamız olan pizza_view.php dosyamızı eski haline getiriyoruz.
<html> <head> <link rel="stylesheet" type="text/css" href="<?php echo $base.'css/'.$css?>"><!-- Css dosyamızı burada include ettik --> </head> <body> <div id="header"> <?php $this->load->view('pizza_header'); ?><!-- header dosyamızı burada include ettik --> </div> <div id="menu"> <?php $this->load->view('pizza_menu'); ?><!-- menü dosyamızı burada include ettik --> </div> <h3>Siparişler</h3> <table border="1"> <tr><th>İsim</th><th>Pizza</th><th>İnce Kenar</th><th>Adet</th><th>Adres</th><th>Tip</th><th>Fiyat</th><th>Düzenle</th><th>Sil</th></tr> <?php foreach($orders as $row){ ?> <tr> <td> <?php echo $row->name;?> </td> <td> <?php echo $row->pizza;?> </td> <td> <?php if($row->thin_edge) { echo "Evet"; } else { echo "Hayır"; } ?> </td> <td> <?php echo $row->unit;?> </td> <td> <?php echo $row->address;?> </td> <td> <?php echo $row->type;?> </td> <td> <?php echo $row->cost;?> </td> <td> <?php echo anchor('pizza/order/'.$row->id,'Düzenle');?> </td> <td> <?php echo anchor('pizza/del/'.$row->id,'Sil') ;?> </td> </tr> <?php } ?> </table> <div id="footer"> <?php $this->load->view('pizza_footer'); ?><!-- footer dosyamızı burada include ettik --> </div> </body> </html> |
Bu arada dikkat ettiyseniz, yeni birşeyler ekledik kodumuza tablonun sonlarına bakarsanız sil ve düzenle isminde iki link var. Şimdi biraz bunları inceleyelim.
Url helper kullandığımız için url lerimiz daha kısa oluşturulabiliyor. Farkını şöyle göstereyim
<a href="http://localhost/CodeIgniter/index.php/pizza/order/1">Düzenle</a> = anchor('pizza/order/'.$row->id,'Düzenle') |
Bakın neredeyse yarı yarıya kısaldı kodumuz.
Bu arada model dosyamızıda eski haline getirmeyi unutmayalım.(pizza_model.php)
1 2 3 4 5 6 7 8 | function get_all_orders() { //$this->load->library('table'); //tablo kütüphanemizi yüklüyoruz. $query = $this->db->get('pizza'); //$table = $this->table->generate($query); //tablomuz oluşturulup $table değişkenine atılıyor. return $query->result(); } |
Son olarak controller dosyamızıda eski haline getiriyoruz. (pizza.php)
1 2 3 4 5 6 7 8 | function index() { $this->load->model('pizza_model'); $data=$this->pizza_model->genel(); $data['orders'] = $this->pizza_model->get_all_orders(); //bütün siparişler tablo halinde hazır geliyor. $this->load->view('pizza_view',$data); } |
Şimdi çalıştırıp yeni tablomuza bakabilirsiniz.En son hali şu şekilde olacak.
Bir sonraki dersimizde, bu hazırlamış olduğumuz linklerin fonksiyonunu yazacağız. Yani codeigniter da database den silme ve database i güncelleme, düzenleme işlemlerini yapacağız ve fonksiyonlarını hazırlayacağız.
Bunlara da Göz Atmak İsteyebilirsiniz.
<<< Önceki: Codeigniter Dersleri – 15 – Tablo Kütüphanesi
Sonraki: Codeigniter Dersleri – 17 – Seçili Bilgiyi Forma Gönderme >>>
artık yavaş yavaş codeigniter ın lavanta esintisi kokan codeigniterın bence arka bahçesi olan mysql sorgulamalarına geçiyoruz:) tşk
merhaba ben id,’Sil’) ;?>
alanını yazdım http://localhost/CodeIgniter/index.php/pizza/order1Düzenle ekrana yazdığı yazı oldu aynı şey sil içinde geçerli helper (‘url’) yi tekrar mı yüklememiz gerekiyor sanıyorum MyMenu de zaten yapmıştık.
Sorunuzu tam anlayamadım ancak, eğer anchor yazarak yazdığımız link, eski tip linke gidiyor diyorsanız normali budur.
id.’sil’);>
ekrana td içine http://localhost/CodeIgniter/index.php/pizza/order1Düzenle yazdı.tam yolu yazdı yani.bu arada php taglarını koymadım yorum da yazınca ekrana yazmıyor bu da bir açıkmıdır bunuda merak ettim 🙂 php? ? taglarını
“echo anchor(‘pizza/del’.$row->id.’sil’);” bu yine göstermedi.
Enes, ilk olarak galiba anchor fonksiyonunu yazarken row->id den sonra virgül yerine nokta koyuyorsun. Bu da sil veya düzenle kelimesini linke dahil ediyor ve öyle gösteriyor. Oradaki noktalama işaretlerine dikkat etmelisin. İkincisi ise php kodlarını yorum içerisine yazamaman bir açık değil aksine güvenlik için önlemdir. Eğer php kodlarını yoruma yazabiliyor olsan bu kodlar çalışır ve sayfada istenmeyen durumlara neden olur.
bir srun var sanırım ..
satır 72 de olan kodlar bunlar
———
$data[‘temiz_id’] = $query[‘id’];//tablodan verileri çekip arraya atıyoruz.
$data[‘temiz_isim’] = $query[‘name’];
$data[‘temiz_pizza’] = $query[‘pizza’];
$data[‘temiz_tip’]= $query[‘type’];
$data[‘temiz_adet’]= $query[‘unit’];
$data[‘temiz_adres’] = $query[‘address’];
if($query[‘thin_edge’]==’yes’){
$data[‘temiz_kenar’][‘checked’] = TRUE;
}else{
$data[‘temiz_kenar’][‘checked’] = FALSE;
}
————–
düzenleye tıklayınca sayfa da aşağıdaki hatayı alıyorum.
——————————-
——————————-
A PHP Error was encountered
Severity: Notice
Message: Undefined index: id
Filename: controllers/pizza.php
Line Number: 72
A PHP Error was encountered
Severity: Notice
Message: Undefined index: name
Filename: controllers/pizza.php
Line Number: 73
A PHP Error was encountered
Severity: Notice
Message: Undefined index: pizza
Filename: controllers/pizza.php
Line Number: 74
A PHP Error was encountered
Severity: Notice
Message: Undefined index: type
Filename: controllers/pizza.php
Line Number: 75
A PHP Error was encountered
Severity: Notice
Message: Undefined index: unit
Filename: controllers/pizza.php
Line Number: 76
A PHP Error was encountered
Severity: Notice
Message: Undefined index: address
Filename: controllers/pizza.php
Line Number: 77
A PHP Error was encountered
Severity: Notice
Message: Undefined index: thin_edge
Filename: controllers/pizza.php
Line Number: 78
Mahmut bey bu hatayı almanıza rağmen sayfa çalışmaya devam ediyor mu?
Yorum Bırakın!
En Son Yazılanlar
Codeigniter Dersleri
Kategoriler
Teknoloji Haberleri
Android Dersleri
Arşiv
İstatistikler
Sitemizin QR Kodu
Yeniliklerden İlk Sizin Haberiniz Olsun
KodMerkezi.Net Facebookta
En Çok Okunanlar
En Son Aranan Kelimeler
En Çok Oy Alanlar
Etiket Bulutu
İlginizi Çekecek Siteler
Arşiv
Yönetim
En Son Yapılan Yorumlar
En Çok Okunanlar