Codeigniter framework ile form verilerinin kontrollerini yapmak için "form_validation" kütüphanesini kullanıyoruz. Uzun uzun kontroller yapmak yerine bu kütüphane ile kısa bir şekilde verilerimizi gerekli kontrollerden geçirebiliriz. İlk olarak kütüphanemizi sayfamıza yükleyelim.
$this->load->helper('form');
$this->load->library('form_validation');
Form isimli helperi formumuzu oluştururken kullanacağız. "form_validation" kütüphaneside kullanacağımız kütüphane . İlk olarak formu göstereceimiz view ve controllerimiz içerisinde bir metod oluşturalım.
Controller dosyası.
public function index()
{
$this->load->helper('form');
$this->load->library('form_validation');
$this->load->view("form_sayfasi");
}
View dosyası
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Codeigniter form kontrolü - Webderslerim.com</title>
<style>
.form_input_kapsa{margin-bottom: 15px;}
</style>
</head>
<body>
<?php
// Bu metod ile form kontrolündeki hatalarımızı yazdırıyoruz
echo validation_errors();
// Eğer CSRF token sistemini kullanıyorsak html form etiketini yazmak yerine bu metod ile CSRF token kodunuda otomatik olarak forma yerleştiriyoruz. Biz verileri aynı sayfada POST olarak göndereceğimiz için parametre eklemiyoruz.
echo form_open();
?>
<div class="form_input_kapsa">
<label for="kadi">Kullanıcı adı</label>
<br>
<input type="text" name="kadi" id="kadi">
</div>
<div class="form_input_kapsa">
<label for="sifre">Şifre</label>
<br>
<input type="password" name="sifre" id="sifre">
</div>
<div class="form_input_kapsa">
<label for="sifre_tekrar">Şifre tekrar</label>
<br>
<input type="password" name="sifre_tekrar" id="sifre_tekrar">
</div>
<div class="form_input_kapsa">
<label for="sifre_tekrar">E-posta adresiniz</label>
<br>
<input type="email" name="eposta" id="eposta">
</div>
<input type="submit" value="Gönder">
</form>
</body>
</html>
Bu şekilde basit bir form oluşturduk. Şimdi formdan alacağımız verileri kontrol edelim. "form_validation" sınıfı içerisindeki "set_rules" metodu ile kontrol işlemlerini yapıyoruz.
//1.parametre formdaki ismi
//2.parametre hata olduğunda gözükecek ismi
//3.parametre hangi kontrollerden geçeceği
$this->form_validation->set_rules("kadi","Kullanıcı adı","trim|required");
Bu şekilde en basit haliyle gerekli kontrolleri ekliyoruz.(Daha fazla kontrol seçeneği için tıklayın).
Şimdi kurallarımızı yazdıktan sonra kütüphaneyi çalıştırıp, hata varmı diye bakalım.
if ($this->form_validation->run() == FALSE)
{
// Eğer hata varsa burası çalışacak
}
Bu iki metodu öğrendiğimize göre örneğimize geri dönelim .
public function index()
{
$this->load->helper('form');
$this->load->library('form_validation');
$this->form_validation->set_rules("kadi","Kullanıcı adı","trim|required"); // trim ve boşluk kontrolü yap
$this->form_validation->set_rules("sifre","Şifre","trim|required|min_length[6]"); // En az 6 karakter olabilir, trim ve boşluk kontrolü yap
$this->form_validation->set_rules("sifre_tekrar","Şifre tekrar","trim|required|matches[sifre]"); // Şifre alanı ile aynı olacak, trim ve boşluk kontrolü yap
$this->form_validation->set_rules("eposta","E-posta adresi","trim|required|valid_email"); // Eposta, trim ve boşluk kontrolü yap
if($this->form_validation->run() == false)
{
$this->load->view("form_sayfasi");
}else{
echo '<font color="green">Veriler tüm kontrollerden geçti.</font>';
}
}
Basit olarak böyle bir örnek yaptık siz kendinize göre düzenleyebilirsiniz . Son olarak hata mesajlarını belirli html etiketleri arasında gösterebilirsiniz. Hata mesajlarını gösterdiğimiz "validation_errors" metodunu aşağıdaki gibi değiştirelim ve farkı görelim
.
// 1.parametre mesajdan önce gelecek kısım
// 2.parametre mesajdan sonra gelecek kısım
validation_errors("<font color='red'>","</font><br>");
Yorum yapmak için lütfen giriş yapın veya üye olun