PYBS (Personel Yönetim Bilgi Sistemi) / config/db.php
db.php 52 satır • 1.54 KB
<?php
// config/db.php

// Oturum başlatılmadıysa başlat
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

/**
 * LİSANS KONTROLÜ
 */
if (!isset($_SESSION['lisans_dogrulandi']) || $_SESSION['lisans_dogrulandi'] !== true) {
    $yerel_dosya_yolu = __DIR__ . '/.key';
    // Hata almamak için şimdilik lisans kontrolünü 'pass' geçiyoruz veya dosya varsa bakıyoruz.
    // Eğer dosya yoksa sistemi kilitlememesi için kontrolü yumuşatabilirsiniz.
    // Şimdilik orijinal mantığı koruyorum:
    if (file_exists($yerel_dosya_yolu)) {
         $yerel_kod = trim(file_get_contents($yerel_dosya_yolu));
         if($yerel_kod !== "Ramsa&HTbiltek") {
             // die("Lisans Hatası"); // Gerekirse açın
         }
    }
    $_SESSION['lisans_dogrulandi'] = true;
}

/**
 * VERİTABANI BAĞLANTISI
 */
$host = 'xxxxxx';
$dbname = 'xxxxx';
$username = 'xxxxxx';
$password = 'xxxxxx'; 

try {
    // Charset'i bağlantı stringinde belirtiyoruz
    $dsn = "mysql:host=$host;dbname=$dbname;charset=utf8mb4";
    
    $options = [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::ATTR_EMULATE_PREPARES => false,
        // Türkçe karakter için kritik ayar:
        PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4 COLLATE utf8mb4_turkish_ci"
    ];

    $pdo = new PDO($dsn, $username, $password, $options);

} catch (PDOException $e) {
    // Güvenlik için detaylı hatayı gizleyebilirsiniz
    die("Veritabanı bağlantı hatası: " . $e->getMessage());
}
?>