Anasayfa » Codeigniter, Php

Codeigniter Dersleri – 11 – Formlar

7 Temmuz 2011 7.189 kez okundu 20 yorum
1 Star2 Stars3 Stars4 Stars5 Stars (3 oy,5 üzerinden : 5,00 )
Loading ... Loading ...

Codeigniter de formları anlatmadan önce, şimdiye kadar hazırladığımız projenin kaynak kodlarını sizlere vermek istiyorum. Bazı arkadaşlarımız takip ederken sorun yaşayabiliyor. Kaynak kodlarını buradan indirebilirsiniz.(-Link 24.11.2012 tarihinde yenilenmiştir-) Öncelikle içindeki sql dosyasını databaseinize import edin. Bu işlemi  codeigniter adlı bir database e yaparsanız daha rahat edersiniz. Daha sonra Codeigniter/application/config altındaki database.php dosyasında gerekli yerleri değiştirin ve proje çalışır hale gelmiş olacaktır. Bu adımlarda sorun yaşayanlar yorum kısmına yazabilirler.

Şimdi asıl konumuz olan codeigniterde formlara geçelim. Öncelikle bize form oluşturmada yardımcı olacak form helperını yükleyeceğiz. Bunun için Codeigntier/application/controllers altındaki pizza.php dosyamızıki order() fonksiyonunu alttaki gibi düzenliyoruz.

1
2
3
4
5
6
7
	function order()
	{
		$this->load->helper('form');//form oluşturabilmek için form yardımcısını yüklüyoruz. 
		$this->load->model('pizza_model');
		$data=$this->pizza_model->genel();
		$this->load->view('pizza_order',$data);
	}

Şimdi formu oluşturmaya geldi sıra ; Codeigntier/application/views altındaki pizza_order.php dosyasını aşağıdaki gibi güncelleyelim.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<html>
<head>
<link rel="stylesheet" type="text/css" 
      href="<?php echo $base.'css/'.$css?>">
</head>
<body>
<div id="header">
<?php $this->load->view('pizza_header'); ?>
</div>
<div id="menu">
<?php 	$this->load->view('pizza_menu'); ?>
</div>
 
<h3>Sipariş Sayfası</h3>
 
<?php echo form_open('pizza/order'); ?>
<?php echo $isim; ?>: 
<?php echo form_input('isim'); ?>
</br>
<?php echo $pizza; ?>: 
<?php echo form_dropdown('pizza',$pizzalar); ?>
</br>
<?php echo $tip; ?>: 
<?php echo form_dropdown('tip',$tipler); ?>
</br>
<?php echo $adet; ?>: 
<?php echo form_input('adet'); ?>
</br>
<?php echo $kenar; ?>: 
<?php echo form_checkbox('kenar','yes',TRUE); ?>
</br>
<?php echo $adres; ?>: 
<?php echo form_textarea('adres'); ?>
</br>
<?php echo form_submit('mysubmit','Sipariş Ver!');  ?>
<?php echo form_close(); ?>
 
 
 
<div id="footer">
<?php $this->load->view('pizza_footer'); ?>
</div>
 
</body>
</html>

Şimdi burada fark ettiyseniz form oluşturma yapısı alışık olduğumuzdan biraz farklı, evet bu doğru. Bu yapı bize daha kolay ve hızlı formlar oluşturmamızı sağlıyor. Formun çalışması için yapmamız gereken bir adım daha var. Oda model dosyamıza form oluştururken kullandığımız değişkenleri eklemek. Codeigntier/application/models altındaki pizza_model.php dosyamızdaki genel() fonksiyonunu aşağıdaki gibi güncelliyoruz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function genel()
	{
		$data['title']='Kodmerkezi.net Pizza Sipariş Sayfası';
		$data['header']='<h1>Pizza Siparis Projesi</h1>';
		$data['footer']='© copyright kodmerkezi.net'; 
 
		$data['base']		= $this->config->item('base_url');//projemizin ana dizinini çekiyoruz.
		$data['css']		= $this->config->item('css');	//css dosyamızı çekiyoruz
 
		$this->load->library('MyMenu');
		$menu = new MyMenu; 
		$data['menu'] = $menu->show_menu();		
 
		$data['isim']	 	= 'İsminiz';
		$data['pizza']		='Pizza Seçin';
		$data['pizzalar']	 	= array('cilgin pizza'=>'cilgin pizza',
									'tavuklu'=>'tavuklu',
									'acili'=>'acili',
									'mantarli'=>'mantarli',
									'karisik'=>'karisik',
									'margarita'=>'margarita');
		$data['tip']	 	= 'Boyut';
		$data['tipler']	 	= array('kücük'=>'kücük',
									'büyük'=>'büyük',
									'normal'=>'normal');
		$data['adet']	 	= 'Adet';
		$data['kenar']	 	= 'İnce Kenar';
		$data['adres']	 	= 'Adres';
 
 
		return $data;
	}

Şimdi formumuzu çalışır duruma geldi. Görüntüsü böyle olacak

Bir sonraki dersimizde form’a biraz daha ayar vereceğiz ve düzene sokacağız. Şimdilik ana hatlarıyla formları böyle oluşturuyoruz.

 

<<< Önceki:

Sonraki: >>>


Facebookta Paylaş

20 yorum »

  • fatih dedi ki:

    MErhaba.Fatal error: Call to undefined function form_open() in C:\AppServ\www\CodeIgniter\application\views\pizza_view.php on line 17
    17 –
    form open call yapılamıyor.codeigniterda da ayrı bi kit mi kurmak gerekiyor bana c# daki .IO ları çağrıştırdı.

  • admin dedi ki:

    Bildiğim kadarıyla hayır.
    Pizza_view.php dosyasında formlarla bir işimiz olmadı ki neden böyle bir hata aldınız. Formları, pizza_order sayfasında kullandık.

  • fatih dedi ki:

    tesbit doğru ben pizza_view sayfasına koymuştum formu.çok özür.tşk:)

  • ayis dedi ki:

    Merhaba; öncelikle elinize sağlık çok güzel anlatmıssınız ama ben aşağıdaki hatayı alıyorum.
    Parse error: syntax error, unexpected T_OBJECT_OPERATOR in C:\wamp\www\codeigniter\system\core\Loader.php(679) : eval()’d code on line 16
    ne yapmalıyım.

  • admin dedi ki:

    Hata sunucudaki php versiyonundan kaynaklanıyor olabilir. Sizden ricam aşağıdaki kodu boş bir php sayfasına yapıştırın ve çalıştırın. Tarayıcınızda php versiyonunu göreceksiniz. Php versiyonunuzun 5 ve üzeri olması gerekiyor.
    phpinfo();

  • ayis dedi ki:

    phpnin versiyonu 5.3 ama haka hatayı aynı veriyor

  • admin dedi ki:

    Şu anda aklıma bir çözüm gelmiyor, hata yeterince açık değil. Siz verdiğim kodları hiçbir değişiklik yapmadan çalıştırınca mı alıyorsunuz bu hatayı?

  • ayis dedi ki:

    Evet hiçbir değişiklik yapmadım.Ama bu hatayı verdi codeigniterde i hata var diye tekrar yükledim bu kez hatayı aynı ama baska sayfada verdi:Parse error: syntax error, unexpected T_OBJECT_OPERATOR in C:\wamp\www\CodeIgniter_2.0.2\application\views\pizza_order.php on line 17
    o satırdada bir hata yok sizin yukarıdaki pizza_order sayfasıyla aynısı ..

  • admin dedi ki:

    Kendi dosyamı tekrar indirip çalıştırdım, ancak herhangi bir hata ile karşılaşmadım. Nette biraz araştırın bakalım ne olabilir hata.

  • ayis dedi ki:

    Problem kalktı yardımlarınız için teşekkürler… tekrardan elinize sağlık derslerinizi takip ediyorum çok güzel anlatıyorsunuz…

  • serdar dedi ki:

    sanırım form nesnelerinin kulllanımı hakkında biraz daha bilgiye ihtiyaç var

  • levent dedi ki:

    fatih nasıl çözdün problemi bende yaşadım yardım edermisiniz keşke açıklasaydın teşekkürler şimdiden :=)

  • levent dedi ki:

    bu kodu böyle çalıştıramadım bende değişiklik yapınca çalılştı
    load->helper(‘form’);?>

    view’e koydum load helper öyle çalıştı 🙁 bütün günümü yedi hata

  • levent dedi ki:

    buttona basıyom bu yazı çıkıyor dediklerinizide tam anlamıyla yapıyom ama site başka onun için değişkenler falan veritabanı full başka bir yere kadar gittim sonra takıldım butona bastıktan sonra bu yazıyor Disallowed Key Characters.

  • Hakan dedi ki:

    derslerinizi takip ediyorum çok teşekkürler. bir isteğim olacak. “buradan” diye yönlendirerek upload ettiğiniz dosya silinmiş. bu dosyayı tekrardan yükleyebilir misiniz? ya da mail adresime gönderebilir misiniz? Şimdiden teşekkürler. Hoşçakalın.

  • admin dedi ki:

    Projenin tüm kodunu indirebileceğiniz şekilde linki düzenledim.

  • burcu dedi ki:

    Merhabalar, öncelikle anlatımlar için teşekkürler. Sizinle birebir yaptığım formda butonun üzerindeki Sipariş Ver yazısı gelmiyor, kodu çalışmıyor sanırım. Neden kaynaklanıyor olabilir acaba?

  • admin dedi ki:

    Burcu, anlatılanları aynen uyguladığında sorun çıkmamaktadır. Site üzerindeki kodları aynen uygulayınca mı çalışmıyor yoksa indirdiğiniz kodu denediğinizde mi çalışmıyor?

  • burcu dedi ki:

    Sizinle birebir gittim ben, sayfadaki kodları uygulayarak. Formdaki diğer özellikler gelirken, mantıken buton üzerindeki yazının da gelmesi gerekmiyor mu? Çıkamadım işin içinden. Buton da görünüyor ama yazısı yok.

  • CEMIL dedi ki:

    super derslerdi. teshekkur edirem

Yorum Bırakın!

Yorum yaz, yada kendi sitende trackback (Geri besleme) olarak ekle. Ayrıca RSS ile bu konuya üye olabilirsin. .

Nazik olun. Temiz tutun. Konu dışına çıkmayın. Spam yaratmayın.

Bu tagları kullanabilirsiniz:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Bloğumuz gavatarı desteklemektedir. Kendi gavatarınızı edinmek için lütfen Gravatar a üye olun.