Beyaz.Net İpucu
Codeigniter ile Web Sayfası hazırlama
codeigniter web sitesi oluşturma.
http://codeigniter.com/download.php
sayfasından yapıyı indiriyoruz.
Web sitesi
resimlerimizi images klasorune
javascript kodlarını js klasorune
style dosyalarımızı ise css klasorune atıyoruz.
image klasorunu silebiliriz.
Scripts klasorune flash dosyalarımızı
atıyoruz.
sistem ve uygulama dosyamızı sistemgercek ve uygulamagercek vb. olarak değiştiriyoruz ki güvenlik açısından bir sıkıntı yaşamayalım.
temp dosyasının chmod unu 777 olarak değiştiriyoruz.
bir tane de fckdosyaları klasoru açıp yazma izni veriyoruz. FCK editorunden eklenen her dosya veya her resim bu klasor altında toplanacaktır.
.htaccess dosyası oluşturup içeriğini şu şekilde düzenliyoruz.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^sistemgercek.*
RewriteRule ^\.htaccess$ – [F]
RewriteCond $1 !^(index\.php|image|resimler|images|swf|uygulamagercek|fckdosyalari|fotograf|images|static|css|js|logs|themes|robots\.txt)
RewriteCond $1 !(\.png|\.jpg|\.gif|\.css|\.js|\.txt|\.csv|\.xml)$
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ /index.php?/$1 [L]
</IfModule>
Şimdi root taki index.php sayfamızda ayarlarımızı yapıyoruz.
$system_folder = "sistemgercek";
$application_folder = "./uygulamagercek";
bundan sonra yapacağımız düzenlemeleri sadece uygulamagercek klasoru altında yapacağız.
Öncelikle config klasoru altındaki config.php dosyasındaki ayarlarımızı yapıyoruz.
Web site adresimiz :
$config['base_url'] = "http://www.beyaz.net/";
Site dili :
$config['language'] = "turkish";
Site karakter dili :
$config['charset'] = "UTF-8";
FCK dosya yeri
$config['fckeditor_basepath'] = "/uygulamagercek/plugins/fckeditor/";
database.php dosyamızda ayarları yapıyoruz.
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "db_user";
$db['default']['password'] = "db_pass";
$db['default']['database'] = "db_name";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
routers.php dosyasındaki ayarlarımız
$route['default_controller'] = "main"; // bu uygulamagercek klasoru altındaki controllers dosyası altına yazacağımız ilk açılacak olan sayfanın adıdır.
$route['scaffolding_trigger'] = "";
$route['(\w{2})/(.*)'] = "$2";
$route['(\w{2})'] = $route['default_controller'];
models altına md_web.php sayfamıza fonksiyonlar halinde veritabanından veri çekeceğimiz kodlarımızı atıyoruz.
libraries altına general.php sayfamıza genel fonksiyonlarımızı yazıyoruz.
views altınada tasarımımızı header.php, footer.php, main.php gibi sayfalara bölüp sayfalara tasarımımızı giydiriyoruz.
plugins altınada fck editor dosyalarımızı atıyoruz.
controllers klasoru altına
$route['default_controller'] = "main";
değerini verdiğimiz için main.php sayfamızı oluşturuyoruz.
Sonrasında class halinde index fonksiyonumuzu oluşturuyoruz. Biz anasayfada haberlerin listeleneceğini varsayarsak kodumuzu şu şekilde hazırlıyoruz.
class Main extends Controller {
private $data = array();
function Main()
{
parent::Controller();
$this->load->library('general'); //genel fonksiyonlarımızın bulunduğu sayfaya erişim.
$this->load->model('MD_Web'); // veri tabanından veri çekeceğimz sayfa
$this->load->helper(array('form', 'url'));
}
function index()
{
$vHaberler = $this->MD_Web->DB_HaberlerAnasayfa('');
$HaberlerList = "";
$HaberSira='0';
$sonId='';
foreach ($vHaberler->result() as $haber)
{
$HaberlerList .= "
<div>
".$haber->BASLIK."<br />
".date('d.m.Y',strtotime($haber->TARIH))."
".$haber->OZET."
<br /><br />
<a
href='".base_url()."/main/haber/".$this->general->UrlSeo($haberbaslik)."/".$haber->ID."'>".$this->lang->line('ayrinti')." >></a>
</div>
";
}
$this->data['HaberlerList'] = $HaberlerList;
$titlehtml = 'beyaz.net';
$keywords = 'Beyaz Bilgisayar';
$this->data['titlehtml'] = $titlehtml;
$this->data['keywords'] = $keywords;
$this->data['baslikhtml'] = $titlehtml;
$this->load->view('view_header', $this->data); views klasoru altına attığımız header sayfası
$this->load->view('view_main', $this->data); views klasoru altına attığımız main sayfası
$this->load->view('view_bottom', $this->data); views klasoru altına attığımız footer sayfası
}
}
http://codeigniter.com/download.php
sayfasından yapıyı indiriyoruz.
Web sitesi
resimlerimizi images klasorune
javascript kodlarını js klasorune
style dosyalarımızı ise css klasorune atıyoruz.
image klasorunu silebiliriz.
Scripts klasorune flash dosyalarımızı
atıyoruz.
sistem ve uygulama dosyamızı sistemgercek ve uygulamagercek vb. olarak değiştiriyoruz ki güvenlik açısından bir sıkıntı yaşamayalım.
temp dosyasının chmod unu 777 olarak değiştiriyoruz.
bir tane de fckdosyaları klasoru açıp yazma izni veriyoruz. FCK editorunden eklenen her dosya veya her resim bu klasor altında toplanacaktır.
.htaccess dosyası oluşturup içeriğini şu şekilde düzenliyoruz.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^sistemgercek.*
RewriteRule ^\.htaccess$ – [F]
RewriteCond $1 !^(index\.php|image|resimler|images|swf|uygulamagercek|fckdosyalari|fotograf|images|static|css|js|logs|themes|robots\.txt)
RewriteCond $1 !(\.png|\.jpg|\.gif|\.css|\.js|\.txt|\.csv|\.xml)$
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ /index.php?/$1 [L]
</IfModule>
Şimdi root taki index.php sayfamızda ayarlarımızı yapıyoruz.
$system_folder = "sistemgercek";
$application_folder = "./uygulamagercek";
bundan sonra yapacağımız düzenlemeleri sadece uygulamagercek klasoru altında yapacağız.
Öncelikle config klasoru altındaki config.php dosyasındaki ayarlarımızı yapıyoruz.
Web site adresimiz :
$config['base_url'] = "http://www.beyaz.net/";
Site dili :
$config['language'] = "turkish";
Site karakter dili :
$config['charset'] = "UTF-8";
FCK dosya yeri
$config['fckeditor_basepath'] = "/uygulamagercek/plugins/fckeditor/";
database.php dosyamızda ayarları yapıyoruz.
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "db_user";
$db['default']['password'] = "db_pass";
$db['default']['database'] = "db_name";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
routers.php dosyasındaki ayarlarımız
$route['default_controller'] = "main"; // bu uygulamagercek klasoru altındaki controllers dosyası altına yazacağımız ilk açılacak olan sayfanın adıdır.
$route['scaffolding_trigger'] = "";
$route['(\w{2})/(.*)'] = "$2";
$route['(\w{2})'] = $route['default_controller'];
models altına md_web.php sayfamıza fonksiyonlar halinde veritabanından veri çekeceğimiz kodlarımızı atıyoruz.
libraries altına general.php sayfamıza genel fonksiyonlarımızı yazıyoruz.
views altınada tasarımımızı header.php, footer.php, main.php gibi sayfalara bölüp sayfalara tasarımımızı giydiriyoruz.
plugins altınada fck editor dosyalarımızı atıyoruz.
controllers klasoru altına
$route['default_controller'] = "main";
değerini verdiğimiz için main.php sayfamızı oluşturuyoruz.
Sonrasında class halinde index fonksiyonumuzu oluşturuyoruz. Biz anasayfada haberlerin listeleneceğini varsayarsak kodumuzu şu şekilde hazırlıyoruz.
class Main extends Controller {
private $data = array();
function Main()
{
parent::Controller();
$this->load->library('general'); //genel fonksiyonlarımızın bulunduğu sayfaya erişim.
$this->load->model('MD_Web'); // veri tabanından veri çekeceğimz sayfa
$this->load->helper(array('form', 'url'));
}
function index()
{
$vHaberler = $this->MD_Web->DB_HaberlerAnasayfa('');
$HaberlerList = "";
$HaberSira='0';
$sonId='';
foreach ($vHaberler->result() as $haber)
{
$HaberlerList .= "
<div>
".$haber->BASLIK."<br />
".date('d.m.Y',strtotime($haber->TARIH))."
".$haber->OZET."
<br /><br />
<a
href='".base_url()."/main/haber/".$this->general->UrlSeo($haberbaslik)."/".$haber->ID."'>".$this->lang->line('ayrinti')." >></a>
</div>
";
}
$this->data['HaberlerList'] = $HaberlerList;
$titlehtml = 'beyaz.net';
$keywords = 'Beyaz Bilgisayar';
$this->data['titlehtml'] = $titlehtml;
$this->data['keywords'] = $keywords;
$this->data['baslikhtml'] = $titlehtml;
$this->load->view('view_header', $this->data); views klasoru altına attığımız header sayfası
$this->load->view('view_main', $this->data); views klasoru altına attığımız main sayfası
$this->load->view('view_bottom', $this->data); views klasoru altına attığımız footer sayfası
}
}