ş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;
?>