İçeriğe geç →

Laravel Başlangıç Rehberi – 4

Selam,

Bugün öğreneceğim konular:

  • GET ve POST metodları
  • FormBuilder

GET  & POST Request

GET

İlk olarak basit bir form oluşturarak başlıyorum.

<form action="dogrulama" method="get">
        <label>
            Kullanıcı:
            <input type="text" name="kullaniciAdi"/>
        </label>
        <br/>
        <label>
            Şifre:
            <input type="password" name="sifre"/>
        </label>
        <br/>
        <input type="submit"/>
    </form>

Gönder butonuna tıkladığımız zaman “localhost/dogrulama” url adresine yönlendirilip, GET metodu ile kullaniciAdi ve sifre değerlerimizi taşıyacağız. Bunun içinde routes.php dosyamızda gerekli kodları ekliyorum.

Route::get("dogrulama", function()
{
	return "Doğrulama sayfasındayım";
});

localhost/dogrulama sayfasına başarılı bir şekilde ulaştığımızı anlamak için, ufak bir mesaj döndürüyoruz sadece.

Formumuzda kullanıcı ve şifre bölümlerini doldurup, gönder butonuna tıklarsak, localhost/dogrulama adresine yönlendirileceğiz ve adres çubuğumuz şuna benzeyecektir: localhost/dogrulama?kullaniciAdi=admin&sifre=1234

POST

Böyle bir işlem için GET metodunun güvenli olmadığını zaten biliyoruz. Şimdi aynı formu POST metodu ile çalıştıralım.

<form action="dogrulama" method="POST">
        <label>
            Kullanıcı:
            <input type="text" name="kullaniciAdi"/>
        </label>
        <br/>
        <label>
            Şifre:
            <input type="password" name="sifre"/>
        </label>
        <br/>
        <input type="submit"/>
    </form>

Gönder butonuna tıkladığımız zaman, Laravel’in o güzel hata sayfasının bizi karşılamış olması gerek. Çünkü routes.php dosyamıza da ufak bir ayar çekmemiz lazımdı. Şimdiye kadar Route classını sürekli get metodu ile kullanmıştım ama POST metodu ile bir veri göndermem gerekiyorsa get yerine post metodunu kullanmam gerek. Yani routes.php dosyamız şu şekilde olmalı:

Route::post("dogrulama", function()
{
	return "Doğrulama sayfasındayım ve POST metodu çalışıyor!";
});

Ve şimdi her şeyin yolunda olması gerek. Ayrıca adres çubuğunda sadece localhost/dogrulama yazıyor. Böylesi biraz daha güvenli oldu.

Formdan Gelen Verileri Alma

Formumuzdan gelen verileri almak için de klasik yöntemimizi kullanabiliriz.

Route::post("dogrulama", function()
{
	$kullanici = $_POST["kullaniciAdi"];
	$sifre = $_POST["sifre"];
	return "Kullanıcı: ".$kullanici." şifre: ".$sifre;
});

Ya da bunun yerine formdan gelen verileri bir dizi olarakta alabiliriz:

Route::post("dogrulama", function()
{
	var_dump($_POST);
});

GET metodu ile kullanmak istersek $_POST yerine $_GET yazmamız yeterli. Ve tabii ki Route::get() içinde kullanmalıyız.

Formdan gelen veriyi Input classının get() metodu ile de alabiliriz. Formu oluştururken input alanlarına verdiğimiz name değerlerini metoda argüman olarak göndermemiz yeterli.

$kullaniciAdi = Input::get("kullaniciAdi");

 

FormBuilder

Bir önceki derste HTMLBuilder classını öğrenmiştim. View dosyalarını daha pratik şekilde düzenlememe yardım eden fonksiyonlara sahipti. FormBuilder ile de daha pratik şekilde formlar oluşturabiliriz.

FormBuilder’ın bütün fonksiyonlarına ulaşmak için buraya bir link bırakıyorum. Şimdi yukarıdaki formu bu kez FormBuilder ile yapıyorum.

{{ Form::open( array("url" => "dogrulama", "method" => "POST") ) }}
        {{ Form::text("kullaniciAdi", "Varsayılan değer") }}
        {{ Form::password("sifre") }}
        {{ Form::submit("Giriş yap") }}
{{ Form::close() }}
  1.  Formumuzu oluşturan kodumuzu yazdık. open() metoduna dizi olarak bazı elemanlar gönderiyoruz. Zaten dizinin anahtarları ve değerleri ne olduğunu açıklıyor.
  2. text tipinde bir input alanı oluşturduk. İlk paramatre name için. Diğer parametreleri göndermesekte olur.
  3. 2. satır ile aynı. Sadece inputun tipini password yaptık.
  4. Son olarak formumuzu close() ile kapatıyoruz.

Bonus olarak bir de select box yapımını paylaşıyorum:

{{ Form::select("numara", $numaralar) }}

$numaralar değişkeni, routes.php den gelen bir diziyi barındırıyor. View dosyalarına veri göndermeyi önceki derslerde öğrendiğim için burada değinmedim.

Sırada Ne Var?

Bugünkü konularım oldukça basitti bence ve kısa sürdü 🙂 Sıradaki derste ise veri tabanı işlemlerini öğreneceğim.

  • Veri tabanına bağlanma
  • Temel SQL sorguları
  • QueryBuilder

Hatırlatma1: Laravel öğrenmek için bu linkteki eğitimi takip ediyorum ve öğrendiklerimi burada paylaşıyorum.Buraya tıklayarak eğitimin anasayfasına ulaşabilir ve kaynak kodlarını indirebilirsiniz.

Hatırlatma2: Lütfen eksik,hatalı ya da düzeltilmesi gereken bir şey farkederseniz bana bildirin.

Kategori: Laravel

Yorumlar

Siz de düşüncelerinizi paylaşın

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.