PHP ile Üyelik Sistemi Nasıl Yapılır? Adım Adım Kod Paylaşımıyla Öğrenin
PHP ile bir üyelik sistemi oluşturmak, web projeleri için temel bir gereksinimdir. Kullanıcı kaydı, giriş ve profili güncelleme gibi işlemler, web siteleri ve uygulamaları için önemli bir etkileşim sağlamaktadır. Bu makalede, PHP kullanarak basit bir üyelik sistemi geliştireceğiz. Adım adım ilerleyeceğiz ve kod örnekleri ile açıklamalar yapacağız.
Gereksinimler:
1. PHP 7.0 veya üstü
2. MySQL veritabanı
3. Bir web sunucusu (örneğin, XAMPP)
4. Temel HTML/CSS bilgisi
Adım 1: Veritabanı Oluşturma
Öncelikle, MySQL veritabanında bir kullanıcı tablosu oluşturalım. XAMPP kontrol panelinden phpMyAdmin'e gidin ve aşağıdaki SQL kodunu kullanarak bir veritabanı ve tablo oluşturun:
Kod:
CREATE DATABASE kullanici_sistemi;
USE kullanici_sistemi;
CREATE TABLE kullanicilar (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
kullanici_adi VARCHAR(50) NOT NULL,
sifre VARCHAR(255) NOT NULL,
email VARCHAR(100) NOT NULL,
tarih TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);Kullanıcıların kayıt olabileceği bir HTML formu oluşturalım:
Kod:
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>Kayıt Ol</title>
</head>
<body>
<h2>Kayıt Ol</h2>
<form action="kayit.php" method="POST">
Kullanıcı Adı: <input type="text" name="kullanici_adi" required><br>
Email: <input type="email" name="email" required><br>
Şifre: <input type="password" name="sifre" required><br>
<input type="submit" value="Kayıt Ol">
</form>
</body>
</html>Kayit.php dosyası, formdan gelen verileri alıp veritabanına kaydetmelidir. Aşağıdaki kodu kullanarak bu işlemi gerçekleştirelim:
Kod:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "kullanici_sistemi";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Veritabanı bağlantısı başarısız: " . $conn->connect_error);
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$kullanici_adi = $_POST['kullanici_adi'];
$sifre = password_hash($_POST['sifre'], PASSWORD_BCRYPT);
$email = $_POST['email'];
$sql = "INSERT INTO kullanicilar (kullanici_adi, sifre, email) VALUES ('$kullanici_adi', '$sifre', '$email')";
if ($conn->query($sql) === TRUE) {
echo "Kayıt başarılı!";
} else {
echo "Hata: " . $sql . "<br>" . $conn->error;
}
}
$conn->close();
?>Kullanıcıların giriş yapabileceği bir form oluşturun:
Kod:
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>Giriş Yap</title>
</head>
<body>
<h2>Giriş Yap</h2>
<form action="giris.php" method="POST">
Kullanıcı Adı: <input type="text" name="kullanici_adi" required><br>
Şifre: <input type="password" name="sifre" required><br>
<input type="submit" value="Giriş Yap">
</form>
</body>
</html>Giriş.php dosyasını oluşturun ve kullanıcı bilgilerini kontrol edin:
Kod:
<?php
session_start();
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "kullanici_sistemi";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Veritabanı bağlantısı başarısız: " . $conn->connect_error);
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$kullanici_adi = $_POST['kullanici_adi'];
$sifre = $_POST['sifre'];
$sql = "SELECT * FROM kullanicilar WHERE kullanici_adi='$kullanici_adi'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
if (password_verify($sifre, $row['sifre'])) {
$_SESSION['kullanici_adi'] = $kullanici_adi;
echo "Giriş başarılı! Hoş geldin, " . $kullanici_adi;
} else {
echo "Yanlış şifre!";
}
} else {
echo "Kullanıcı bulunamadı!";
}
}
$conn->close();
?>Artık basit bir PHP üyelik sistemi oluşturduk. Kullanıcılar kayıt olabiliyor ve giriş yapabiliyor. Bu örnek, gerçek bir projede güvenliği sağlamak ve uygulamayı genişletmek için bir temel oluşturur. Gerçek bir projede SSL kullanmak, SQL enjeksiyonlarını önlemek ve kullanıcı verilerini korumak için gerekli adımları da göz önünde bulundurmalısınız.
Web projelerinizde bu tür üyelik sistemlerinin nasıl çalıştığını anlamak, PHP yetkinliğinizi artıracaktır. Unutmayın, pratik yaparak daha karmaşık sistemler geliştirmek mümkündür. Başarılar dileriz!
)

