örnek kodlarımı paylaşıyorum :

user.php
<script>
$('#updatePasswordBtn').on('click', function() {
var memberId = $('#passwordMemberId').val();
var newPassword = $('#newPassword').val();

$.ajax({
type: 'POST',
url: 's1.php',
data: { memberId: memberId, newPassword: newPassword },
success: function(response) {
if (response === 'Success') {
// Başarılı durumda modal'ı kapat ve sayfayı yeniden yükle
$('#passwordModal').modal('hide');
alert('Password updated!');
location.reload();
} else {
// Hata durumunda konsola yazdır
console.error('Password update error:', response);
alert('Password update error!');
location.reload();
}
},
error: function(xhr, status, error) {
// Hata durumunda konsola yazdır
console.error('Password update error:', status, error);
alert('Password update error!');
location.reload();
}
});
});
</script>

s1.php

<?php
if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST["memberId"]) && isset($_POST["newPassword"])) {
$memberId = $_POST["memberId"];
$newPassword = $_POST["newPassword"];

// Veritabanı bağlantısı
$host = "localhost";
$dbname = "db";
$username = "user";
$password = "pass.";

try {
$db = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8" , $username, $password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// Yeni şifreyi hash'le
$hashedPassword = password_hash($newPassword, PASSWORD_DEFAULT);

// SQL sorgusunu hazırla ve çalıştır
$sql = "UPDATE uyeler SET sifre = :newPassword WHERE id = :memberId";
$stmt = $db->prepare($sql);
$stmt->bindParam(":newPassword", $hashedPassword, PDO::PARAM_STR);
$stmt->bindParam(":memberId", $memberId, PDO::PARAM_INT);
$stmt->execute();

// İşlem başarılı olduysa başarı mesajını döndür
echo "Success";
} catch (PDOException $e) {
// Hata olması durumunda hata mesajını döndür
echo "Error: " . $e->getMessage();
}
} else {
// Geçersiz istek durumunda hata mesajını döndür
echo "Invalid request!";
}
?>