PHP 8 Php 8 Üyelik Sistemi 2026 Güncel

Php 8 Username ve Email Kontrolü

5 dk okuma süresi 510 görüntülenme 2024-09-25 4.9 (14 değerlendirme)

PHP 8 ile kullanıcı kayıt işlemlerinde kullanıcı adı (username) ve e-posta (email) kontrolü yapmak, hem kullanıcı deneyimini iyileştirmek hem de veritabanında tutarlılığı sağlamak açısından önemlidir. Bu kontrol, kullanıcıların zaten kayıtlı olan bilgileri kullanarak tekrar kayıt olmasını önler. İşte bu sürecin nasıl gerçekleştirileceğine dair adım adım bir rehber:

1. Veritabanı Bağlantısı

Öncelikle, veritabanına bağlantı sağlamak için PDO kullanarak bir bağlantı oluşturun.

<?php $host = 'localhost'; $db = 'veritabani_adi'; $user = 'kullanici_adi'; $pass = 'sifre'; try { $pdo = new PDO("mysql:host=$host;dbname=$db", $user, $pass); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo "Bağlantı hatası: " . $e->getMessage(); } ?>

2. Kullanıcı Kayıt Formu

Kullanıcıdan gerekli bilgileri alacak bir HTML formu oluşturun.

<!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Kayıt Ol</title> </head> <body> <h2>Kullanıcı Kayıt Formu</h2> <form action="kayit.php" method="post"> <label for="username">Kullanıcı Adı:</label> <input type="text" id="username" name="username" required> <br> <label for="email">E-posta:</label> <input type="email" id="email" name="email" required> <br> <label for="password">Şifre:</label> <input type="password" id="password" name="password" required> <br> <input type="submit" value="Kayıt Ol"> </form> </body> </html>

3. Kullanıcı Bilgilerini Kontrol Etme

kayit.php dosyasında, kullanıcıdan alınan bilgileri kontrol edin. İlk olarak, kullanıcı adı ve e-posta adresinin veritabanında zaten kayıtlı olup olmadığını kontrol edin.

<?php // Veritabanı bağlantısı $host = 'localhost'; $db = 'veritabani_adi'; $user = 'kullanici_adi'; $pass = 'sifre'; try { $pdo = new PDO("mysql:host=$host;dbname=$db", $user, $pass); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Form verilerini alma if ($_SERVER["REQUEST_METHOD"] === "POST") { $username = trim($_POST['username']); $email = trim($_POST['email']); $password = $_POST['password']; // Kullanıcı adı kontrolü $stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username"); $stmt->bindParam(':username', $username); $stmt->execute(); $existingUser = $stmt->fetch(); if ($existingUser) { echo "Bu kullanıcı adı zaten alınmış. Lütfen başka bir kullanıcı adı seçin."; exit; // İşlemi durdur } // E-posta kontrolü $stmt = $pdo->prepare("SELECT * FROM users WHERE email = :email"); $stmt->bindParam(':email', $email); $stmt->execute(); $existingEmail = $stmt->fetch(); if ($existingEmail) { echo "Bu e-posta adresi zaten kayıtlı. Lütfen başka bir e-posta adresi kullanın."; exit; // İşlemi durdur } // Şifreyi hashleme (güvenlik için) $hashedPassword = password_hash($password, PASSWORD_DEFAULT); // Kullanıcıyı veritabanına ekleme $stmt = $pdo->prepare("INSERT INTO users (username, email, password) VALUES (:username, :email, :password)"); $stmt->bindParam(':username', $username); $stmt->bindParam(':email', $email); $stmt->bindParam(':password', $hashedPassword); if ($stmt->execute()) { echo "Kayıt başarılı!"; } else { echo "Kayıt sırasında bir hata oluştu."; } } } catch (PDOException $e) { echo "Hata: " . $e->getMessage(); } ?>

4. Sonuç

Bu adımlar, PHP 8 kullanarak kullanıcı adı ve e-posta kontrolü yapmanın temelini atmaktadır. Bu kontrol mekanizması, kullanıcıların tekrar kayıt olmalarının önüne geçer ve veritabanındaki verilerin bütünlüğünü korur. Ayrıca, kullanıcı deneyimini artırarak, kullanıcıların kayıt işlemi sırasında karşılaşabilecekleri hataları azaltır.

5. Ekstra Güvenlik Önlemleri

  • Veri Doğrulama: Kullanıcıdan alınan verilerin geçerli olduğundan emin olun. Örneğin, kullanıcı adı ve e-posta adresinin belirli bir formatta olup olmadığını kontrol edin.
  • SQL Injection Önleme: Kullanıcı girdilerini veritabanına eklerken prepared statements kullanarak SQL injection saldırılarına karşı koruma sağlayın.
  • Limitler Belirleme: Kullanıcı adı ve e-posta adresi için belirli karakter uzunlukları ve karakter setleri belirleyerek, geçerli girdileri sağlamış olursunuz.

Bu yaklaşımlar, uygulamanızın güvenliğini artırır ve kullanıcı deneyimini iyileştirir.

Bu Dersi Değerlendirin

Bu ders size yardımcı oldu mu? Puan verin!

Geri bildiriminiz içeriğimizi sürekli güncel ve kaliteli tutmamızı sağlar.

4.9 / 5 (Toplam 14 oy kullanıldı)

Sıkça Sorulan Sorular (SSS)

Bu ders ve konuyla ilgili en çok merak edilenler

Php 8 Username ve Email Kontrolü dersini öğrenmek için ön koşul var mı?

Bu eğitim temel seviyeden ileri seviyeye adım adım hazırlanmıştır. Kodları kopyalayıp Canlı Editör üzerinde test ederek kolayca pratik yapabilirsiniz.

Örnek kodları kendi projelerimde ücretsiz kullanabilir miyim?

Evet, PHP Hocası üzerindeki tüm kod örnekleri açık kaynak mantığıyla sunulmaktadır. Ticari veya kişisel projelerinizde serbestçe kullanabilirsiniz.

Takıldığım bir yerde nereden soru sorabilirim?

Dersin altındaki topluluk yorumları bölümünden sorunuzu sorabilirsiniz. Eğitmenlerimiz ve topluluk üyelerimiz kısa sürede yanıt verecektir.

Paylaş:
PHP Hocası Akademi

Topluluk Yorumları (0)

Ders Hakkında Yorum Yap veya Soru Sor

Henüz yorum yapılmamış. İlk yorumu siz yazın!