fotoğrafın görünürlüğünü(css de ihtiyacın olan visibility veya display özelliği) varsayılan olarak gizle.
ben display özelliğini tercih edeceğini varsayıp ona göre örnek verdim.
daha sonra butonun click eventine aşağıdaki kodu yaz.
veya kodu bir fonksiyona koy.
// fotoIDsi kısmına hedef fotoğrafın id kısmını ver. yoksa çalışmaz
if(localStorage.getItem("fotoGorulduMu")){
// daha önce fotoğrafa bakıldıysa
document.getElementById("fotoIDsi").style.display = "none";
}else{
// daha önce fotoğrafa bakılmadıysa
document.getElementById("fotoIDsi").style.display = "inline-block";
// istersen mevcut değeri arttırsın istersen sabit değer verirsin.
localStorage.setItem("fotoGorulduMu", "1");
}
çalışan örnek:
https://jsfiddle.net/29L5curz/
kaynaklar:
https://www.erbilen.net/html5-local-storage-ozelligi/
https://www.w3schools.com/jsref/event_onclick.asp
required standart kullanımında required="" pek doğru olmayabilir. direkt olarak required yazıp geçebilirsin.
herbir aşama butonunun click eventine aşağıdaki gibi bir kontrol koyabilirsin.
if ($('#asama-form-1').valid()) {
// form geçerli ise gerçekleşecek kodlar buraya..
}else{
// form geçersiz ise alert vs basabilirsin...
}
ya da formlar üzerinde özellikle birkaç inputu kontrol etmek istiyorsan jquery ile input valid mi || boş mu bakabilirsin.
döngüden çıkar diyecektim ama zaten cevaplamışsın. ayrıca döngülerde direkt olarak ekrana veri basmak yerine bir değişken oluştur.
döngü içinde basılacak değerleri bu değişkene topla. döngü dışında da ekrana değişkeni basabilirsin. daha performanslı olabilir.
querye değinmişsin. belki başkası okursa diye söylüyorum.
kullanıcıdan alınan(veya kullanıcıdan tablolara alınmış verilerden) verilerle işlem yaparken güvenlik için query yerine prepare kullanın.
sorgu performansınızın artması ve gereksiz sayıda sonuç almamak için LIMIT parametresi kullanın
musteri_yorum_img tablosundaki görsel sayısına göre sıralamak istiyorsan:
- emlakci tablosuna imgYorumAdet gibi integer türünde sütun ekle. burda foto adetini tutacaksın
- musteri_yorum_img tabloya veri eklenince veya silinince emlakci tablosunda bağlı olan içeriğin sütununa adeti eklersin
bu sana ne kazandırır
her listelemede veritabanında tek tek saydırmazsın. yani performans sağlar
pdo için örnek kaynaklar
https://www.erbilen.net/pdo-kullanimi/
https://www.yusufsezer.com.tr/php-pdo-kullanimi/
limit kullanımı (sayfalama içinde kullanırsın)
http://www.serpito.com/mysql-limit-komutu-ve-kullanimi/
$insert değişkenini koşula göre işlem yaptırtma kısmını sil. print_r ve var_dump ile ekrana yazdırt.
pdo da hata bilgisni görmek için print_r($dbh->errorInfo()); kullan. bakalım ekrana ne çıkıyor.
sorunun sebebi tablo yapın, sunucu php& mysql versiyonu gibi birçok şey olabilir.
id kısmına göre yapman olmaz. olması gereken sorgu parametresine limit koymak
mesela 10 kişi çekmek istiyorsan sorgun böyle olmalı
SELECT * FROM sofor LIMIT 10 ORDER BY DESC
// bu kod son 10 üyeyi gösterir. pdo da sorgularına parametre almıyorsan prepare yerine query kullan daha hızlı olur.
google veya tayfunun php mysql derslerini izlemeni tavsiye ederim. sql de limit ve order by parametrelerine gözatmayı unutma