• 23-05-2023, 14:19:46
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Burda ne hata var locolden bağlantı kuramıyorum?
    şifre kullanıcı doğru başka program deneyince kuruyor

    <?php
    $host = "*****";
    $user = "********";
    $password = "**";
    $database = "****";
    
    try {
        // PDO bağlantısı oluştur
        $conn = new PDO("mysql:host=$host;dbname=$database;charset=utf8", $user, $password);
        
        // Hata modunu ayarla
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
        // Formdan gelen verileri al
        $eski_nick = $_POST['eski_nick'];
        $yeni_nick = $_POST['yeni_nick'];
        $girilen_sifre = $_POST['sifre'];
    
        // Şifre ve nick doğrulaması yap
        $query = "SELECT * FROM oyuncular WHERE Nick = ?";
        $stmt = $conn->prepare($query);
        $stmt->execute([$eski_nick]);
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
    
        if ($result) {
            $sifre_hash = $result['Sifre'];
    
            // Şifreyi doğrula
            if (password_verify($girilen_sifre, $sifre_hash)) {
                // Yeni nick'i başka bir oyuncuda kontrol et
                $query = "SELECT * FROM oyuncular WHERE Nick = ?";
                $stmt = $conn->prepare($query);
                $stmt->execute([$yeni_nick]);
                $result = $stmt->fetch(PDO::FETCH_ASSOC);
    
                if ($result) {
                    echo "Başka bir nick deneyin.";
                } else {
                    // Nick'i güncelle
                    $query = "UPDATE oyuncular SET Nick = ? WHERE Nick = ?";
                    $stmt = $conn->prepare($query);
                    $stmt->execute([$yeni_nick, $eski_nick]);
    
                    if ($stmt->rowCount() > 0) {
                        echo "Nick başarıyla değiştirildi.";
                    } else {
                        echo "Nick değiştirilirken bir hata oluştu.";
                    }
                }
            } else {
                echo "Hatalı şifre girdiniz.";
            }
        } else {
            echo "Eski nick bulunamadı.";
        }
    } catch(PDOException $e) {
        echo "Veritabanı bağlantı hatası: " . $e->getMessage();
    }
    
    // Bağlantıyı kapat
    $conn = null;
    ?>
  • 23-05-2023, 14:50:20
    #2
    localinizden bir hostingdeki veri tabanına mı bağlanmaya çalışıyorsunuz?
  • 23-05-2023, 15:02:15
    #3
    Yönetici onayı bekliyor
    ahmtcn37 adlı üyeden alıntı: mesajı görüntüle
    localinizden bir hostingdeki veri tabanına mı bağlanmaya çalışıyorsunuz?

    evet
  • 23-05-2023, 15:03:35
    #4
    Matite adlı üyeden alıntı: mesajı görüntüle
    evet
    Hostingde uzak mysql izni açık mı? Her hosting izin vermiyor ama açmaya
  • 23-05-2023, 15:04:53
    #5
    Matite adlı üyeden alıntı: mesajı görüntüle
    evet
    Kodu çalıştırdığınızda verdiği hata nedir?
  • 23-05-2023, 15:06:32
    #6
    Yönetici onayı bekliyor
    Veritabanı bağlantı hatası: SQLSTATE[28000] [1045] Access denied for user 'gizli'@'gizili.giizli..com' (using password: YES)
  • 23-05-2023, 15:08:26
    #7
    Yönetici onayı bekliyor
    buda pdo pyton karışık yaptım buda olmadı

    <?php
    $host = "***";
    $user = "***";
    $password = "*****";
    $database = "***";
    
    try {
        // PDO bağlantısı oluştur
        $conn = new PDO("mysql:host=$host;dbname=$database;charset=utf8", $user, $password);
        
        // Hata modunu ayarla
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
        // Formdan gelen verileri al
        $eski_nick = $_POST['eski_nick'];
        $yeni_nick = $_POST['yeni_nick'];
        $girilen_sifre = $_POST['sifre'];
    
        // Şifre ve nick doğrulaması yap
        $query = "SELECT * FROM oyuncular WHERE Nick = ?";
        $stmt = $conn->prepare($query);
        $stmt->execute([$eski_nick]);
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
    
        if ($result) {
            $sifre_hash = $result['Sifre'];
    
            // Şifreyi doğrula
            if (password_verify($girilen_sifre, $sifre_hash)) {
                // Yeni nick'i başka bir oyuncuda kontrol et
                $query = "SELECT * FROM oyuncular WHERE Nick = ?";
                $stmt = $conn->prepare($query);
                $stmt->execute([$yeni_nick]);
                $result = $stmt->fetch(PDO::FETCH_ASSOC);
    
                if ($result) {
                    echo "Başka bir nick deneyin.";
                } else {
                    // Python komutunu oluştur
                    $pythonCmd = "python3 script.py '$yeni_nick'"; // Python betiğini 
    
                    // Python kodunu çalıştır
                    $output = shell_exec($pythonCmd);
    
                    // Çıktıyı ekrana yazdır
                    echo $output;
                }
            } else {
                echo "Hatalı şifre girdiniz.";
            }
        } else {
            echo "Eski nick bulunamadı.";
        }
    } catch(PDOException $e) {
        echo "Veritabanı bağlantı hatası: " . $e->getMessage();
    }
    
    // Bağlantıyı kapat
    $conn = null;
    ?>
  • 23-05-2023, 15:10:10
    #8
    Anydesk verirseniz uzaktan bakalım
  • 23-05-2023, 15:12:11
    #9
    Yönetici onayı bekliyor
    fatihemre adlı üyeden alıntı: mesajı görüntüle
    Anydesk verirseniz uzaktan bakalım
    malesef önemli bilgilerim var