DUR !.
Kullanıcı bilgileri değiştirmesin istiyorsun ki doğru ve bu nedenle yaptırdığın seçimleri (neye göre yaptırıyorsun selectboxtan id filan yok mu)
database'den ürün id lerini alp check etmen gerek senin kullanıcıya gösterdiğin bilgiler bilgilendirme amaçlı olmalı. Ödeme sayfasındakiler check ettiğin bilgiler olmalı.
Sanırım problemi anladım. İki form olduğu için ve ikisinde de aynı fonksiyon aynı anda çalışıyor.
Böyle yapınca sorun kalmadı.
function(formName){
const formId = document.getElementById(formName);
Ajx(formId,'kayit.php', 'POST');
}
Aynı yorum kontrolünden soğudum. Veritabanı alanının indexini de iptal etmem gerek sanırım. Kullanıcıyı da yormak iyi olmaz. :)
Yorum kaydedilirken ilave sorgu yapmıyorum bu şekilde. Hem başkası da aynı yorumu yapmamalı mı diye düşünüyorum.
Mantık hatası var. Fiyat bilgisi değil ürün id sinden sunucu tarafında halledilmesi gerek fiyat hesaplamaları.
Mesela bütün sayfalarda kullanılan kod var mı. Header menu gibi. Onlara elleme. Mesela sadece belli sayfada çalışan kod mu var onu al ve sadece o sayfada çağır. Bunları yaparken script src lerini body nin en altına al tamamladığına ve sorun yaşamadığında bu sefer scr leri head taglarına al ve defer async leri araştır.
https://www.youtube.com/watch?v=kkuZTAMyAFI
Buraya bakarsan anlayacaksın.
<script>
'use strict';
function ysAjax(url, method, data, callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
if (typeof callback == 'function') {
callback(this);
}
}
}
xhr.open(method, url);
if (method == 'POST' && !(data instanceof FormData)) {
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
}
xhr.send(data);
}
'use strict';
ysAjax('metin.txt', 'GET', null, yazdir);
function yazdir (sonuc) {
console.log(sonuc.responseText);
}
Fonksiyona bu şekilde parametre yollayabiliyorum sonucuda consolda alıyorum.
Burada fonksiyon yerine objeye parametre göndermek istiyorum, fonksiyona değil yani.
</script>
<script>
const alertBox = { //responseText değerini alamadım bu objeye
init(){
this.hideTimeout = null;
this.el = document.createElement('div');
this.el.className = 'alert_box';
document.body.appendChild(this.el);
},
show(message,state){
clearTimeout(this.hideTimeout);
this.el.textContent = message;
this.el.className = 'alert_box alert_box_visible';
/*
alert_box_visible
css de opacity 0, visibility visible oluyor
*/
if(state){
this.el.classList.add(state);
}
this.hideTimeout = setTimeout(() => {
//this.el.classList.remove('alert_box_visible');
}, 3000);
}
};
</script>
Amacım dönen değeri notification alert olarak göstermek.
Çok sağol ama ben butonun içine onclik fonkisiyonu ile parametreyi aldım. Böylece safadaki bütün butonları döngü içine almadan hallettim.
Oldu ancak bu işin mantığı böylemi olur bilemedim gittigidiyoru inceledim oda link içinde buton kullanmış ama javascript kısmında nasıl yapmış bilemedim.