$user_data = Select(
"users",
"users.User_id, users.User_Name, users.User_Surname, users.User_Mail, users.User_Tc, category.Category_Name, users.User_Tel_1, users.User_Tel_2, users.User_State",
"INNER JOIN category ON users.Category = category.id",
"users.User_Name ASC",
"10",
1
);
hatalı parametre bildiriminde bulunmuşsun
bazı hostinglerde 3. taraf imap sunucularına erişim engeli oluyor, muhtemelen böyle bir sorunun var. aynı kodları çalıştırdığın panelde bir eposta adresi açarak test et, muhtemelen çalışır. ya o eposta adresini kullan ya da destek talebi oluşturup, erişim izni iste.
sadece php ile sayfayı yenilemeden işlem yapılması mümkün değil. ya ajax kullanacaksın ya sayfayı yenileyeceksin.
bunun için ekstra bir method bilmene gerek yok, koşul oluşturmalısın. ayrılma işlemini ayrılan kişinin sohbet ettiği kişiye gönderdiği son mesaj olarak düşün. ya da kişilerin karşılıklı olarak hala aktif olup olmadıklarını denetleyecek bir koşul yazıp, false değerine geçişte eşleştiği kullanıcıya bir yanıt vermeli ve verdiğin bu yanıtı hatırlamak için bir önbellek işlemi yazmalısın ki sürekli kullanıcı ayrıldı diye yanıt almasın.
bu şekilde basite indirgeyecek olursan, herkes erişebilir. kısacası açık bir veritabanı hosting'i gibi bir şey olmuş olur elinde.
- api kullanabilirsin, en basit yöntem ile üst bilgi de istek yapan sunucu için koşul belirleyebilirsin x != y error gibi
- cpanel'i harici olarak satın alıp normalde sağlamadığı özelliklerden faylanarak onun apisi üzerinden işlemler gerçekleştirebilirsin
- tamamen kapalı bir sunucu veya hosting oluşturursun, tüm dizinlere erişimin kapalı olduğu ve sadece ftp üzerinden yol adresini bildirerek dosyayı çağırırsın.
ama ben olsam basit ve hızlı bir şey yapman gerekiyorsa. openssl ile bir şifreleme algoritması seçerdim, şifreyi de tarih ve saatin md5 hali olarak belirlerdim ve dosya adlarını çağırmak için istek (payload) gönderdiğinde, form verisi gizlenmiş olurdu. uzak hostingde ise index dosyası dışında bütün dosyalara erişimi kapatırdım, gelen isteğin deşifre eder koşullar sağlanıyorsa sayfaya çıktıyı basardım.
not: tarih saatte örneğin 22:15:59 da yapılan istek, 22:16:03 de tamamlanırsa eşleşme olmazdı. 22:1 alıp parçalayıp, 22*1 gibi kullanabilirsin.
startexp fonksiyonu dinlemenin dışında çağrılmış durumda olabilir. ayrıca tuşa basıldığı süre zarfında keypress sürekli olarak çalışacaktır. bunun yerine duruma uygun ise keyup kullanman daha yerinde olur, tuşa basıldıktan sonra değil tuşa yapılan vurgu tamamlandıktan yani tuş bırakıldıktan sonra çalışır.
kullanim sekli bu. ayrica liseli gencler kolayca php ile web developer olabiliyor gibi bir cumle kurarak, epey kucumsemistin. giris seviyesinde bi olay ve basit degil diyorsun. demek ki ne bildigin kadar neyi bilmedigin de onemli
var cocuk = function(val){
return $('#cocuksayisi').text(val+' çocuk');
}
$(document).on('change', '[name="cocuk"]', function(){
cocuk(this.value);
});
$(document).on('click', '#cocukarti, #cocukeksi', function(){
let sayi = parseInt($('[name="yetiskin"]').val()),
sonuc = this.id == 'cocukarti' ? (sayi + 1) : (sayi - 1);
cocuk(sonuc);
$('[name="cocuk"]').val(sonuc);
});
var kisi = function(val){
return $('.text-black').text(val+' kişi');
}
$(document).on('change', '[name="yetiskin"]', function(){
kisi(this.value);
});
$(document).on('click', '.js-minus, .js-plus', function(){
let sayi = parseInt($('[name="yetiskin"]').val()),
sonuc = $(this).attr("class") == 'js-plus btn btn-icon btn-medium btn-outline-secondary rounded-circle' ? (sayi + 1) : (sayi - 1);
kisi(sonuc);
$('[name="yetiskin"]').val(sonuc);
});
$(document).on('change', '[name="yetiskin"]', function(){
$('.text-black').text(this.value+' kişi'); // içeriği sıfırlayarak yazar
$('.text-black').text($('.text-black').text()+' '+this.value); // içeriğin sonuna ekler
});
jquery gerektirir.