Yazılım Öğrenme: Kapsamlı Rehber 9

Yazılım Öğrenme: Kapsamlı Rehber 9

Yazılım Öğrenme Rehberi 9, PHP ve MySQL kullanarak daha gelişmiş web uygulamaları geliştirmeye odaklanır. Bu yazıda, kullanıcı doğrulama, form validasyonu ve veritabanı işlemlerini daha detaylı inceleyeceğiz. Adım adım anlatımla, kullanıcı kayıt ve giriş sistemi oluşturmayı öğreneceksiniz.

Giriş

Önceki yazılarda, HTML form verilerini PHP ve MySQL kullanarak nasıl işleyeceğinizi öğrendiniz. Şimdi, bu bilgileri daha da ileriye taşıyarak kullanıcı doğrulama ve form validasyonu konularını ele alacağız. Bu rehberde, kullanıcıların kayıt olmasını ve giriş yapmasını sağlayan bir sistem oluşturacağız.

Gereksinimler

Bu rehberi takip etmek için aşağıdaki araçlara ve bilgilere ihtiyacınız olacak:

  • HTML, CSS ve JavaScript bilgisi: Önceki rehberlerden edindiğiniz bilgiler.
  • PHP ve MySQL kurulu bir sunucu: Yerel geliştirme ortamı olarak XAMPP veya WAMP kullanabilirsiniz.

PHP ve MySQL Kurulumu

PHP ve MySQL’i kullanabilmek için yerel bir geliştirme ortamı kurmanız gerekiyor. XAMPP veya WAMP gibi araçları kullanarak bu ortamı kurabilirsiniz. Bu araçlar, Apache sunucusu, PHP ve MySQL’i içeren paketler sunar.

  1. XAMPP Kurulumu:
    • XAMPP’ı buradan indirin ve kurun.
    • XAMPP Kontrol Paneli’ni açın ve Apache ile MySQL’i başlatın.
  2. WAMP Kurulumu:
    • WAMP’ı buradan indirin ve kurun.
    • WAMP kontrol panelini açın ve Apache ile MySQL’i başlatın.

Adım 1: Veritabanı ve Tabloları Oluşturma

Kullanıcı bilgilerini saklamak için bir veritabanı ve gerekli tabloları oluşturacağız.

Veritabanı oluşturma

CREATE DATABASE user_auth;

Kullanıcı tablosu oluşturma:

USE user_auth;

CREATE TABLE users (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(30) NOT NULL UNIQUE,
    email VARCHAR(50) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Bu komutlar, user_auth adında bir veritabanı ve users adında bir tablo oluşturur. Tabloda, kullanıcı adı, e-posta adresi ve şifre saklanır.

Adım 2: Kullanıcı Kayıt Formu Oluşturma

Kullanıcıların kayıt olmasını sağlayacak bir HTML formu oluşturacağız.

register.html

<!DOCTYPE html>
<html>
<head>
    <title>Kullanıcı Kayıt</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <div class="container">
        <h1>Kayıt Ol</h1>
        <form action="register.php" method="post">
            <label for="username">Kullanıcı Adı:</label>
            <input type="text" id="username" name="username" required>
            <label for="email">Email:</label>
            <input type="email" id="email" name="email" required>
            <label for="password">Şifre:</label>
            <input type="password" id="password" name="password" required>
            <button type="submit">Kayıt Ol</button>
        </form>
    </div>
</body>
</html>

Bu HTML formu, kullanıcının kullanıcı adı, e-posta ve şifre girmesini sağlar.

Adım 3: Kayıt İşlemini PHP ile Gerçekleştirme

Form verilerini alıp veritabanına kaydeden bir PHP dosyası oluşturacağız.

register.php

<?php
// Veritabanı bağlantı bilgileri
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "user_auth";

// Veritabanına bağlan
$conn = new mysqli($servername, $username, $password, $dbname);

// Bağlantıyı kontrol et
if ($conn->connect_error) {
    die("Bağlantı hatası: " . $conn->connect_error);
}

// Form verilerini al ve temizle
$username = htmlspecialchars($_POST['username']);
$email = htmlspecialchars($_POST['email']);
$password = htmlspecialchars($_POST['password']);

// Şifreyi hashle
$hashed_password = password_hash($password, PASSWORD_DEFAULT);

// Veritabanına ekle
$stmt = $conn->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $username, $email, $hashed_password);

if ($stmt->execute()) {
    echo "Kayıt başarıyla tamamlandı.";
} else {
    echo "Hata: " . $stmt->error;
}

// Bağlantıyı kapat
$stmt->close();
$conn->close();
?>

Bu PHP dosyası, form verilerini alır, temizler ve şifreyi hashleyerek veritabanına ekler. Şifre hashleme, kullanıcı şifrelerinin güvenli bir şekilde saklanmasını sağlar.

Adım 4: Kullanıcı Giriş Formu Oluşturma

Kullanıcıların giriş yapmasını sağlayacak bir HTML formu oluşturacağız.

login.html

<!DOCTYPE html>
<html>
<head>
    <title>Kullanıcı Giriş</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <div class="container">
        <h1>Giriş Yap</h1>
        <form action="login.php" method="post">
            <label for="username">Kullanıcı Adı:</label>
            <input type="text" id="username" name="username" required>
            <label for="password">Şifre:</label>
            <input type="password" id="password" name="password" required>
            <button type="submit">Giriş Yap</button>
        </form>
    </div>
</body>
</html>

Bu HTML formu, kullanıcının kullanıcı adı ve şifre girmesini sağlar.

Adım 5: Giriş İşlemini PHP ile Gerçekleştirme

Form verilerini alıp kullanıcı doğrulamasını yapan bir PHP dosyası oluşturacağız.

login.php

<?php
// Veritabanı bağlantı bilgileri
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "user_auth";

// Veritabanına bağlan
$conn = new mysqli($servername, $username, $password, $dbname);

// Bağlantıyı kontrol et
if ($conn->connect_error) {
    die("Bağlantı hatası: " . $conn->connect_error);
}

// Form verilerini al ve temizle
$username = htmlspecialchars($_POST['username']);
$password = htmlspecialchars($_POST['password']);

// Kullanıcıyı veritabanında ara
$stmt = $conn->prepare("SELECT id, username, password FROM users WHERE username = ?");
$stmt->bind_param("s", $username);
$stmt->execute();
$stmt->store_result();

if ($stmt->num_rows > 0) {
    $stmt->bind_result($id, $username, $hashed_password);
    $stmt->fetch();

    // Şifreyi doğrula
    if (password_verify($password, $hashed_password)) {
        echo "Giriş başarılı. Hoş geldiniz, " . $username . "!";
    } else {
        echo "Hatalı şifre.";
    }
} else {
    echo "Kullanıcı bulunamadı.";
}

// Bağlantıyı kapat
$stmt->close();
$conn->close();
?>

Bu PHP dosyası, form verilerini alır, temizler ve kullanıcının var olup olmadığını kontrol eder. Şifreyi doğrular ve kullanıcıyı giriş yapar.

Sonuç

Bu rehberde, PHP ve MySQL kullanarak kullanıcı kayıt ve giriş sistemi oluşturmayı öğrendiniz. PHP ile form verilerini almayı, veritabanına kaydetmeyi ve kullanıcı doğrulaması yapmayı keşfettik. Bir sonraki rehberde, daha ileri düzey backend işlemleri ve güvenlik önlemlerini inceleyeceğiz. Yazılım geliştirme dünyasında başarılı bir kariyer yapmak için bu bilgileri kullanarak yolculuğunuza devam edebilirsiniz.

Yararlandığım Kaynaklar

Bu kaynaklardan yararlanarak yazılım öğrenme sürecinizi daha verimli ve etkili hale getirebilirsiniz. Yazılım geliştirme dünyasında başarılı bir kariyer yapmak için bu rehberi ve kaynakları kullanarak yolculuğunuza başlayabilirsiniz. Yazının devamı için burayı inceleyebilirsiniz.

Yazılım Öğrenme: Kapsamlı Rehber 9” için bir görüş

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Benzer yazılar

Aramak istediğinizi üstte yazmaya başlayın ve aramak için enter tuşuna basın. İptal için ESC tuşuna basın.

Üste dön