Register Form

arkadaşlar yii de yeniyim biraz mesafe aldım fakat sitede kullanıcılardan seminer için bi kayıt formu açıp kayıt almam lazım.

database de (id ad soyad adres …) tablosunu açtıktan sonra sırası ile yapmam gerekenleri yazabilirmisiniz?

http://www.yiiframework.com/screencasts/

bu videoyu izle.

crud işlemi var.onla başlarsın.

o videoları izledim. sadece 1.adım model oluştur. 2. adım controller a sunu ekle 3. adım … gibi bi cevap bekliyodum sadece yardımcı olabilirseniz.

önce gii yi ac. index.php?r=gii tabii config/mainden db ayarlarının oldugu yerde gii modulunu ac bi şifre ver.

sonra verdiğim linkten model oluştur.ardından crud yap. gerekli ekipmanlar yaratılacak.

yaratılan create kısmını controllerden ve view den incele.senin için gerekli olanlar bunlar.

Aslında yii framework hakim olan arkadaşlar ufak tefek ücretliyada ücretsiz farketmez dersler oluştursa çok yararlı olur.

Merhaba @c_kazanci,

Yii Framework’e yeni başlıyorsan tavsiyem, öncelikle Guide sayfasını ve frameworkun demo projelerini birlikte incelemeni önerebilirim.

Sorunun cevabına geldiğimizde;

1- db de tablo oluşturduysan ilk olarak pdo_mysql sürücünün yüklü ve aktif olduğundan emin olmalısın olup olmadığını http://[yii-projen]/requirements/ ile test edebilirsin (requirements dizinini indirdiğin framework un içinde bulabilirsin)

2- veritabanı bağlantısını /protected/config/main.php içinde tanımlamalısın, örnek olarak şu şekilde;




'components'=>array(

		...

		'db'=>array(

			'connectionString' => 'mysql:host=localhost;dbname=[VERITABANI-ADI]',

			'emulatePrepare' => true,

			'username' => 'DB-USERNAME',

			'password' => 'DB-PASSWORD',

			'charset' => 'utf8',

		),

...



3- veritabanında oluşturduğun HER BİR TABLO için ayrı ayrı MODEL oluşturmalısın.

(/protected/models/… altında veya biraz daha ilerlediğinde duyacaksın /modules/… altındada olabilir.)

4- tabloların arasında ilişki varsa bunları model içindeki relations metodu içinde tanımlamalısın. ör;

Not: Yeni başlayan birisi isen için bu kısma girmemek girmekten daha iyidir ama şimdilik böyle bir şey olduğunu bilmende de fayda var.




public function relations(){

		return array(

			'messages' => array(self::HAS_MANY, 'Message', 'userId'),

			'abc' => array(self::BELONGS_TO, 'def', 'xyz'),

		);

	}



5- veritabanında oluşturduğun HER BİR TABLO ile ilgili CRUD (create-read-update-delete) işlemlerin için ayrı ayrı CONTROLLER ve VIEW ler oluşturmalısın.

[b]Başlangıç aşamasında olduğundan dolayı @selo nun bahsettiği gii 'den KESİNLİKLE uzak durmanı öneririm. Yukarıda saydığım işlemleri sırasıyla manuel olarak yapman senin için ve her yeni başlayan için çok daha iyi olacaktır.

[/b]

Zaten kendi modelini kendi controllerini ve kendi viewini manuel oluşturamadıktan sonra bir süre sonra çıkan hatalardan sıkılıp bu frameworku kullanmayı bırakabilirsiniz.

Biraz daha ilerlediğinizde farklı sorularda görüşmek ümidiyle.

Merhaba @Remark,

ders konusuna gelince, ücretsiz olarak yayınlamak üzere hazırlıklara 3-4 gün önce başladım, elimden geldiğince bi şeyler paylaşmayı düşünüyorum, zamanı geldiğince linkleri paylaşacağım.

şimdilik bu kadar.

iyi çalışmalar.

Cevaplar için çok teşekkür ederim. çok acemi sayılmam yii de. sadece formlar ile pek uğraşmamıştım daha önce o yüzden bilmediğim bişe var mı diye sordum.

Konu şu ki bi sorum daha var.

Ben bi dynamic menu hazırladım cmenu ile ve çok da güzel çalışıyo. (superfish css ve js lerini kullandım biraz da modifiye ettim.) fakat menu ve sub menü ekleyebiliyorum. sub menuye sub menu (3. derece alt menu) ekleyemedim.

bi çözümünüz varsa çok svinirim.

Database tablom şu şekilde (id(int11),menu_name(varchar50),parent_id(int11),konu(int11),link(varchar50))(eğer link varsa linke gidiyo yoksa konu id den ilgili konuyu ekrana yazdırıyo.)

Menu fonksiyornum

<?php

            function menuYaz(&#036;menu) {





                foreach (&#036;menu as &#036;m ) {





                    if(&#036;m-&gt;parent_id&#33;=0) 


                    {


                        if (empty(&#036;m-&gt;link))


                        {


                            &#036;url = Yii::app()-&gt;createUrl('/site/konu',array('id'=&gt;&#036;m-&gt;konu_id));


                            &#036;yaz[&#036;m-&gt;parent_id]['items'][] = array('label'=&gt;&#036;m-&gt;menu_name,'url'=&gt;&#036;url);


                        }


                        else


                        {


                            &#036;url = &#036;m-&gt;link;


                            &#036;yaz[&#036;m-&gt;parent_id]['items'][] = array('label'=&gt;&#036;m-&gt;menu_name,'url'=&gt;&#036;url);


                        }


                        


                    } 


                    if(&#036;m-&gt;parent_id==0)


                    {


                       if (empty(&#036;m-&gt;link))


                       {


                            if (&#036;m-&gt;konu_id==0)


                            {


                                &#036;url = '#';


                                &#036;yaz[&#036;m-&gt;id] = array('label'=&gt;&#036;m-&gt;menu_name,'url'=&gt;&#036;url);


                            }


                            if (&#036;m-&gt;konu_id&#33;=0)


                            {


                                &#036;url = Yii::app()-&gt;createUrl('/site/konu',array('id'=&gt;&#036;m-&gt;konu_id)); 


                                &#036;yaz[&#036;m-&gt;id] = array('label'=&gt;&#036;m-&gt;menu_name,'url'=&gt;&#036;url); 


                            }


                            


                       }


                       if (&#33;empty(&#036;m-&gt;link)) 


                       {


                            &#036;url = &#036;m-&gt;link;


                            &#036;yaz[&#036;m-&gt;id] = array('label'=&gt;&#036;m-&gt;menu_name,'url'=&gt;&#036;url);


                       }


                    }





                }


            return &#036;yaz;


            }








            &#036;criteria = new CDbCriteria();


            &#036;criteria -&gt;select='*';


            &#036;criteria -&gt; condition = '';


            &#036;criteria -&gt; order = 'parent_id, id ASC ';


            &#036;menu = Menu::model()-&gt;findAll(&#036;criteria);





            &#036;this-&gt;widget('zii.widgets.CMenu',array(


                        'htmlOptions'=&gt;array('class'=&gt; &quot;sf-menu&quot; ,'id'=&gt;&quot;example&quot;, ),


                        'submenuHtmlOptions' =&gt; array('class' =&gt; 'active'),


                        'items'=&gt;menuYaz(&#036;menu),


                    ));

?>