PHP PDO ile Oy Verme Sistemi Nasıl Yapılır? (Adım Adım Anlatım)

PHP PDO ile oy verme sistemi

🔰 PHP PDO ile Oy Verme Sistemi Nedir?

Bir oylama sistemi oluşturmak, PHP öğrenen herkes için mükemmel bir mini projedir. Bu yazıda PHP PDO ile oy verme sistemi nasıl yapılır, adım adım göstereceğiz. Proje hem pratik hem de web projelerinizde kullanabileceğiniz gerçek bir örnek sunar.


🧩 1. PHP PDO ile Oy Verme Sistemi İçin Veritabanı Oluşturma

İlk olarak, oy verilecek partileri tutacağımız bir tablo oluşturalım.

📷 Görsel: Veritabanı yapısı (phpMyAdmin örneği)

CREATE TABLE parties (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    votes INT DEFAULT 0
);

Daha sonra örnek veriler ekleyelim:

INSERT INTO parties (name) VALUES
('Parti A'),
('Parti B'),
('Parti C');

🔌 PHP PDO ile Veritabanı Bağlantısı Nasıl Yapılır?

<?php
$host = 'localhost';
$db   = 'oylama';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
];

try {
    $pdo = new PDO($dsn, $user, $pass, $options);
} catch (PDOException $e) {
    echo "Veritabanı bağlantısı başarısız: " . $e->getMessage();
}
?>

🧾 3. Oy Verme Formu (index.php)

Bu dosyada partiler listelenir ve kullanıcı oy verir.

<?php include 'db.php'; ?>

<h2>Partiye Oy Ver</h2>
<form method="POST" action="vote.php">
    <?php
    $stmt = $pdo->query("SELECT * FROM parties");
    while ($row = $stmt->fetch()) {
        echo '<input type="radio" name="party_id" value="'.$row['id'].'"> '.$row['name'].'<br>';
    }
    ?>
    <button type="submit">Oy Ver</button>
</form>

<hr>
<h3>Toplam Oylar</h3>
<ul>
<?php
$stmt = $pdo->query("SELECT name, votes FROM parties ORDER BY votes DESC");
while ($row = $stmt->fetch()) {
    echo '<li>'.$row['name'].' - '.$row['votes'].' oy</li>';
}
?>
</ul>

✅ 4. Oy Kaydetme (vote.php)

Oy verildiğinde çalışacak PHP dosyası:

<?php
include 'db.php';

if (isset($_POST['party_id'])) {
    $partyId = (int) $_POST['party_id'];

    $stmt = $pdo->prepare("UPDATE parties SET votes = votes + 1 WHERE id = ?");
    $stmt->execute([$partyId]);

    echo "Oyunuz başarıyla kaydedildi. <a href='index.php'>Geri dön</a>";
} else {
    echo "Lütfen bir parti seçin. <a href='index.php'>Geri dön</a>";
}
?>

📈 5. Sonuç

Bu projede PHP PDO kullanarak partilere oy verme sistemini başarıyla oluşturduk. Formdan alınan veriler, veritabanına güvenli bir şekilde işlenir ve toplam oylar gerçek zamanlı görüntülenir.


🏁 Sonraki Adımlar

  • IP adresi ile aynı kişinin tekrar oy vermesini engelle
  • Admin paneli ile oy sıfırlama
  • Bootstrap veya Tailwind ile tasarımı geliştir

📸 Örnek Uygulama Görüntüsü

PHP PDO ile oy verme sistemi

📌 Sonuç

PHP PDO ile oy verme sistemi, hem pratik yapmanı hem de projelerini zenginleştirmeni sağlar. Bu sistemi kendi web sitene entegre edebilir veya daha gelişmiş özellikler ekleyerek geliştirebilirsin

Önceki Makaleme Göz Atın —-> PHP PDO Crud İşlemleri

Projeyi indir ——>