Jquery içeren js kodlarını jquery dosyasını dahil ettikten sonra kullanmalısınız. Aksi taktirde hata verir
Sayfaya jquery eklediniz mi, eklediyseniz api.js den önce mi sonra mı eklediniz?
Evet bir fikrim daha var, gönderdiğiniz yorumu append veya prepend metodları ile ekleyin.
load kullanmayın, gereksiz bir işlem. Trigger ile formu resetleyin yeterli
Portu 587 olarak değiştirip öyle deneyin, ve şifrenizi paylaşmazsanız sizin açınızdan daha iyi olabilir
O sayı 1 artacak bu sayı 2 artacak, kardeşim sen bi kafanı çalıştırsana, bi adamın artırdığı bir sayıyı başka bir adamın da görebilmesi için bu sayının kayıt edileceği yere bu iki adamın da ulaşabiliyor olması gerekmez mi. Db istemiyorum diyorsun sana diyoruz o zaman dosya kullan. Öyle senin sandığın gibi otomatik artıp da kendi kendine kayıt olan bir kod yok, he varsa bulursan bizi de aydınlat.
Database kullanmadan bu tür bir şeyi txt veya json dosyası kullanarak yapabilirsin.
Komut istemcisini açın, cd komutları ile çalıştığınız klasöre gidin.
php dosyaadi.php yazın ve onaylayın
Öyle bir program var mıdır bilmiyorum ama filezilla da her seferinde şifreleri ayrı ayrı girmenize gerek yok. Ftp hesaplarını ayrı ayrı kaydedin, iki hesabı da ayrı sekmelerde açın ikisi de aynı anda açık dursun. Her ikisi için de dosyaları aynı anda upload edin
Ve ayriyeten eğer IDE olarak PhpStorm kullanıyorsanız (diğer IDE ler için de olabilir bilmiyorum) bunun için özel ayarlamalar yapabilirsiniz. Phpstorm ftp upload multiple host same time gibi bir arama yaparsanız sonuçlar çıkacaktır
Bunun için mysql json fonksiyonlarından yararlanabilirsiniz.
Tamamen çalışma prensibini anlamanız ayrıntılara pek dikkat etmeden şunun gibi bir örnek hazırladım;
Bu örnekte kullandığım t adında bir db oluşturdum, bir id ve bir tane de a adında iki sütun ekledim. a sütununa sizin json verisini olduğu gibi koydum

Geri kalan kodlar aşağıdaki gibi
index.php
<?php
try {
$db = new PDO("mysql:host=localhost; dbname=test","root","");
$db-> exec("SET NAMES utf8mb4; SET CHARSET utf8mb4");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'Bağlanamadı'. $e->getMessage();
$db = null;
}
?>
<!doctype html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<?php
$query = $db->query("SELECT * FROM t")->fetchAll(2);
foreach ($query as $t) {
$arr = json_decode($t['a'], true);
foreach ($arr as $item => $value) { ?>
<label for="<?= $item ?>"><?= $item ?></label>
<input type="number" id="<?= $item ?>" name="<?= $item ?>" value="<?= $value ?>"><br>
<?php }
}
?>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$(function () {
$("input[name^='taksit']").on("change keyup", function () {
$.post('ajax.php', {
index: $(this).attr("id"),
value: parseFloat($(this).val())
}).done(e => {
console.log(e ? 'İşlem başarılı' : 'İşlem başarısız')
})
})
})
</script>
</body>
</html>
ajax.php
<?php
try {
$db = new PDO("mysql:host=localhost; dbname=test","root","");
$db-> exec("SET NAMES utf8mb4; SET CHARSET utf8mb4");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'Bağlanamadı'. $e->getMessage();
$db = null;
}
if ($_POST) {
$update = $db->query("UPDATE t SET a = JSON_REPLACE(a, '$.{$_POST['index']}', {$_POST['value']}) WHERE id = 1"); // Buradaki id değerini dinamik yapabilirsiniz
echo (bool)$update->rowCount();
}