PHP ile web uygulamaları geliştirirken kullanıcıdan bilgi almak oldukça sık karşılaşılan bir işlemdir. Kullanıcı adı, şifre, e-posta veya farklı bilgileri bir HTML formu aracılığıyla alabilir ve bu bilgileri PHP kullanarak kontrol edebiliriz.
Bu örneğimizde basit bir kullanıcı giriş sistemi oluşturacağız. Kullanıcıdan kullanıcı adı ve şifre alacağız ve girilen bilgilerin doğru olup olmadığını PHP ile kontrol edeceğiz.
Bu Örnekte Ne Yapacağız?
Uygulamamızı iki dosya üzerinden oluşturacağız:
- index.html → Kullanıcının giriş bilgilerini yazacağı form
- ayar.php → Girilen kullanıcı adı ve şifreyi kontrol edecek PHP dosyası
Kullanıcı doğru bilgileri girerse:
Hoşgeldin BATU
mesajı gösterilecek.
Kullanıcı adı veya şifre yanlışsa:
Yanlış kullanıcı adı veya şifre girdiniz!
mesajı gösterilecek.
1. index.html Dosyasını Oluşturalım
İlk olarak kullanıcıdan bilgileri alacağımız HTML formunu oluşturalım.
<form action="ayar.php" method="post">
Kullanıcı adı:<br>
<input type="text" name="Kullanici"><br>
Şifre:<br>
<input type="password" name="sifre"><br>
<input type="submit" value="Giriş">
</form>
Form Kodunu İnceleyelim
Formumuzun başlangıç kısmı şu şekildedir:
<form action="ayar.php" method="post">
Burada iki önemli özellik kullanıyoruz:
action="ayar.php"→ Form gönderildiğinde bilgiler ayar.php dosyasına gönderilir.method="post"→ Form verilerinin PHP'ye POST yöntemiyle gönderilmesini sağlar.
Kullanıcı Adı Alanı
Kullanıcının kullanıcı adını yazabilmesi için bir metin alanı oluşturuyoruz:
<input type="text" name="Kullanici">
Buradaki name="Kullanici" kısmı önemlidir. Çünkü PHP dosyasında
bu alana gönderilen değere Kullanici adı üzerinden ulaşacağız.
Şifre Alanı
Şifre için normal bir metin alanı yerine password türünü
kullanmak daha doğru olur:
<input type="password" name="sifre">
Böylece kullanıcı şifreyi yazarken karakterler ekranda doğrudan görünmez.
Giriş Butonu
Formu göndermek için bir buton oluşturuyoruz:
<input type="submit" value="Giriş">
Kullanıcı bu butona bastığında formdaki bilgiler ayar.php dosyasına gönderilir.
2. ayar.php Dosyasını Oluşturalım
Şimdi HTML formundan gelen bilgileri PHP ile alalım.
<?php
$uye = $_POST['Kullanici'];
$sifre = $_POST['sifre'];
?>
Burada $_POST kullanarak HTML formundan gönderilen verilere
ulaşıyoruz.
$_POST Nedir?
$_POST, HTML formlarından POST yöntemiyle
gönderilen verileri PHP tarafında almak için kullanılan özel bir
PHP değişkenidir.
Örneğin formumuzda:
name="Kullanici"
şeklinde bir alan oluşturduğumuz için PHP tarafında bu değeri:
$_POST['Kullanici']
şeklinde alabiliriz.
Aynı şekilde:
name="sifre"
alanına da:
$_POST['sifre']
şeklinde ulaşabiliriz.
3. Kullanıcı Bilgilerini Kontrol Edelim
Şimdi kullanıcının girdiği bilgilerin doğru olup olmadığını
if ile kontrol edeceğiz.
Örneğimizde doğru kullanıcı adı BATU, doğru şifre ise 1234 olarak belirlenmiştir.
if ($uye == "BATU" && $sifre == "1234") {
echo "Hoşgeldin " . $uye;
} else {
echo "Yanlış kullanıcı adı veya şifre girdiniz!";
}
&& Operatörü Ne İşe Yarar?
Burada && operatörünü kullanıyoruz.
Bu operatör "ve" anlamına gelir.
Yani PHP'nin kontrol ettiği koşul şudur:
Kullanıcı adı BATU ve şifre 1234 mü?
İki koşulun da doğru olması gerekir.
Örneğin:
Kullanıcı adı: BATU
Şifre: 1234
Her iki bilgi de doğru olduğu için:
Hoşgeldin BATU
mesajı gösterilir.
Ancak şifre:
5678
olursa koşul sağlanmaz ve:
Yanlış kullanıcı adı veya şifre girdiniz!
mesajı gösterilir.
4. Tam index.html Kodu
Formun tamamını tek parça halinde görmek isterseniz:
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>Giriş Yap</title>
</head>
<body>
<h2>Kullanıcı Girişi</h2>
<form action="ayar.php" method="post">
Kullanıcı adı:<br>
<input type="text" name="Kullanici">
<br><br>
Şifre:<br>
<input type="password" name="sifre">
<br><br>
<input type="submit" value="Giriş">
</form>
</body>
</html>
5. Tam ayar.php Kodu
<?php
$uye = $_POST['Kullanici'];
$sifre = $_POST['sifre'];
if ($uye == "BATU" && $sifre == "1234") {
echo "Hoşgeldin " . $uye;
} else {
echo "Yanlış kullanıcı adı veya şifre girdiniz!";
}
?>
Sistem Nasıl Çalışıyor?
Uygulamanın çalışma mantığı oldukça basittir:
- Kullanıcı index.html sayfasını açar.
- Kullanıcı adını ve şifresini girer.
- Giriş butonuna basar.
- Form bilgileri POST yöntemiyle ayar.php dosyasına gönderilir.
- PHP,
$_POSTile bilgileri alır. ifile kullanıcı adı ve şifre kontrol edilir.- Bilgiler doğruysa hoş geldin mesajı gösterilir.
- Bilgiler yanlışsa hata mesajı gösterilir.
Önemli Not
Buradaki örnek PHP'nin form verilerini nasıl aldığını ve koşul kontrolünün nasıl yapıldığını öğrenmek amacıyla hazırlanmıştır. Gerçek bir kullanıcı giriş sistemi oluştururken kullanıcı adı ve şifreyi doğrudan PHP kodunun içerisine yazmak güvenli bir yöntem değildir.
Gerçek projelerde kullanıcı bilgileri veritabanında tutulmalı, şifreler
password_hash() ile güvenli şekilde saklanmalı ve giriş
sırasında password_verify() ile kontrol edilmelidir.
Sonuç
Bu örnekte HTML form ile PHP arasındaki veri alışverişinin temel mantığını
öğrendik. HTML tarafında kullanıcıdan bilgi aldık, POST
yöntemiyle PHP'ye gönderdik ve PHP tarafında $_POST kullanarak
bu bilgileri elde ettik.
Daha sonra if, else ve &&
operatörlerini kullanarak kullanıcı adı ve şifrenin doğru olup olmadığını
kontrol ettik.
Bu temel yapı, PHP ile hazırlanmış giriş sistemlerinin çalışma mantığını anlamak için önemli bir başlangıç noktasıdır.
