Selam,
Bugün öğreneceğim konular:
İ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
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.
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");
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() }}
open()
metoduna dizi olarak bazı elemanlar gönderiyoruz. Zaten dizinin anahtarları ve değerleri ne olduğunu açıklıyor.text
tipinde bir input
alanı oluşturduk. İlk paramatre name
için. Diğer parametreleri göndermesekte olur. input
un tipini password
yaptık.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.
Bugünkü konularım oldukça basitti bence ve kısa sürdü 🙂 Sıradaki derste ise veri tabanı işlemlerini öğreneceğim.
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.
Celery ile alakalı "best practice"leri ve faydalı araçları bir araya getiren güzel bir checklist'e denk…
Diziler en temel ve sık kullandığımız araçlardan... Kod yazarken işimizi kolaylaştıracak, daha temiz kod yazmamızı…
listve tuple bilginizi test etmek ister misiniz? realpython.com da keşfettiğim ve Türkçe'ye çevirdiğim mini teste…
Rehberlik sağlaması ve bilgi tazelemesi açısından faydalı olduğunu düşündüğüm bir Toptal blog paylaşımınıTürkçe'ye çevirdim.Devamını okuyunBilmeniz…
Angular componentlerine console üzerinden hızlıca erişmek için kullanılan bir teknik. Unutmamak için kendime not düşüyorum.Devamını…
Geçtiğimiz günlerde keşfettiğim ve oldukça da hoşuma giden repoyu paylaşmak istiyorum: lydiahallie/javascript-questions Genel olarak temel…