⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
🇹🇷 TR Lokasyon | 🛡️ Gelişmiş DDoS Koruması | ⚡ Düşük Ping | 🎧 Kesintisiz TS3 | Hostlar
Sponsor Görsel 2
SponsorSponsor

PHP ile dinamik bir anket sistemi nasıl yapılır? Adım adım kod paylaşımı!

Konu

#1
PHP ile Dinamik Bir Anket Sistemi Nasıl Yapılır? Adım Adım Kod Paylaşımı!

Günümüzde web tabanlı uygulamalar, kullanıcı etkileşimini artırmak ve veri toplamak için anket sistemlerine sıklıkla başvuruyor. Bu yazıda, PHP kullanarak basit ama etkili bir dinamik anket sistemi oluşturmayı adım adım inceleyeceğiz. Bu sistem, kullanıcıların oy kullanmasını ve sonuçların görüntülenmesini sağlayacak. Hadi başlayalım!

Gerekli Araçlar ve Kurulum

Bu projeyi gerçekleştirmek için aşağıdaki araçlara ihtiyacınız olacak:

1. PHP (en az 7.0)
2. MySQL veya MariaDB
3. Web sunucusu (Apache veya Nginx)
4. Bir metin editörü (Notepad , Visual Studio Code gibi)

Adım 1: Veritabanı Oluşturma

İlk olarak, anketimizi saklayacağımız bir veritabanı oluşturmamız gerekiyor. Aşağıdaki SQL kodu ile `anket_db` adında bir veritabanı ve `anketler` tablosunu oluşturalım:

Kod:
CREATE DATABASE anket_db;

USE anket_db;

CREATE TABLE anketler (
    id INT AUTO_INCREMENT PRIMARY KEY,
    soru VARCHAR(255) NOT NULL,
    secenekler TEXT NOT NULL,
    oy_sayisi TEXT NOT NULL
);

`anketler` tablosunda üç alan tanımladık: `id`, `soru`, `secenekler` ve `oy_sayisi`. `secenekler` alanı, ankete dahil edilen seçenekleri virgülle ayırarak saklayacak.

Adım 2: Anket Ekleme Formu

Şimdi anket eklemek için bir form oluşturmalıyız. Aşağıdaki kod parçası, basit bir anket ekleme formunu içeriyor:

Kod:
<html>
<head>
    <title>Anket Ekle</title>
</head>
<body>
    <h1>Anket Ekle</h1>
    <form method="POST" action="anket_ekle.php">
        Soru: <input type="text" name="soru" required><br>
        Seçenekler (virgülle ayrılmış): <input type="text" name="secenekler" required><br>
        <input type="submit" value="Ekle">
    </form>
</body>
</html>

Bu form, kullanıcının anket sorusunu ve seçeneklerini girmesine olanak tanır.

Adım 3: Anketi Veritabanına Kaydetme

Oluşturduğumuz formdan gelen verileri veritabanına kaydetmek için `anket_ekle.php` adlı bir dosya oluşturmalıyız. Aşağıdaki kod ile kullanıcıdan alınan verileri tablomıza ekleyelim:

Kod:
<?php
$servername = "localhost";
$username = "kullanici_adi";
$password = "parola";
$dbname = "anket_db";

$conn = new mysqli($servername, $username, $password, $dbname);

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

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $soru = $_POST['soru'];
    $secenekler = $_POST['secenekler'];
    $oy_sayisi = str_repeat('0', substr_count($secenekler, ',')   1);

    $sql = "INSERT INTO anketler (soru, secenekler, oy_sayisi) VALUES ('$soru', '$secenekler', '$oy_sayisi')";

    if ($conn->query($sql) === TRUE) {
        echo "Yeni anket başarıyla eklendi!";
    } else {
        echo "Hata: " . $sql . "<br>" . $conn->error;
    }
}

$conn->close();
?>

Bu kod, formdan gelen verileri alır ve veritabanına kaydeder. Seçeneklerin oy sayısını başlatmak için her seçenek için sıfır oluşturuyoruz.

Adım 4: Anketi Görüntüleme ve Oy Kullanma

Şimdi, eklenen anketleri görüntüleyip kullanıcıların oy kullanabileceği bir sayfa oluşturmalıyız. Örnek olarak `anket_goruntule.php` dosyası aşağıdaki gibi olmalıdır:

Kod:
<?php
$servername = "localhost";
$username = "kullanici_adi";
$password = "parola";
$dbname = "anket_db";

$conn = new mysqli($servername, $username, $password, $dbname);

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

$sql = "SELECT * FROM anketler";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "<h2>" . $row["soru"] . "</h2>";
        $secenekler = explode(',', $row["secenekler"]);
        $oy_sayisi = explode(',', $row["oy_sayisi"]);
        
        foreach ($secenekler as $index => $secenek) {
            echo "<form method='POST' action='oy_kullan.php'>";
            echo "<input type='hidden' name='anket_id' value='" . $row["id"] . "'>";
            echo "<input type='hidden' name='secenek_index' value='" . $index . "'>";
            echo $secenek . "<input type='submit' value='Oy Ver'>";
            echo "</form>";
        }
    }
} else {
    echo "Henüz bir anket yok.";
}

$conn->close();
?>

Bu sayfa, veritabanındaki anketleri listeleyecek ve her bir seçeneğin yanında oy verme butonu olacak.

Adım 5: Oy Verme İşlemi

Kullanıcıların oy vermesi için `oy_kullan.php` adlı bir dosya oluşturmalıyız. Bu dosya, oy verme işlemini gerçekleştirecek:

Kod:
<?php
$servername = "localhost";
$username = "kullanici_adi";
$password = "parola";
$dbname = "anket_db";

$conn = new mysqli($servername, $username, $password, $dbname);

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

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $anket_id = $_POST['anket_id'];
    $secenek_index = $_POST['secenek_index'];

    // Mevcut oy sayısını al
    $sql = "SELECT oy_sayisi, secenekler FROM anketler WHERE id = $anket_id";
    $result = $conn->query($sql);
    $row = $result->fetch_assoc();

    $oy_sayisi = explode(',', $row["oy_sayisi"]);
    $oy_sayisi[$secenek_index]  ;
    $new_oy_sayisi = implode(',', $oy_sayisi);

    // Yeni oy sayısını güncelle
    $sql = "UPDATE anketler SET oy_sayisi = '$new_oy_sayisi' WHERE id = $anket_id";
    if ($conn->query($sql) === TRUE) {
        echo "Oyunuz başarıyla verildi!";
    } else {
        echo "Hata: " . $conn->error;
    }
}

$conn->close();
?>

Bu kod, seçilen ankete oy verir ve oy sayısını günceller.

Sonuç

Bu makalede PHP ile dinamik bir anket sistemi oluşturma adımlarını inceledik. Artık kullanıcılarınız anketlere oy verebilir ve sonuçları görebilir. Bu temel yapıyı geliştirerek daha ileri düzey özellikler ekleyebilir, örneğin kullanıcı autentikasyonu veya sonuçların grafiksel gösterimi gibi. PHP ile dinamik anket sistemleri oluşturmanın temelini öğrenmiş oldunuz. Başarılar!
Cevapla
#2
$username = "kullanici_adi";
$password = "parola";
$dbname = "anket_db";

$conn = new mysqli($servername, $username, $password, $dbname);


<?php
$servername = "localhost";
$username = "kullanici_adi";
$password = "parola";
$dbname = "anket_db";

$conn = new mysqli($servername, $username, $password, $dbname);

Bu alani nasil doldurulabilirim yardimci olur musunuz
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task