html yapmıyor, dosya hâlâ php dosyası, uzantısını html gibi gösteriyor.
.htaccess dosyası ile yapılabilecek numaralardan sadece küçük bir tanesi
window.onload = () => {
document.querySelector("button").onclick = () => {
let testArray = localStorage.setTestArray !== undefined ? JSON.parse(localStorage.setTestArray) : [],
obje = {id: 1, name: 'test'};
testArray.push(obje);
localStorage.setTestArray = JSON.stringify(testArray)
console.log(localStorage.setTestArray)
}
}
Öncelikle datayı sağlayan sitenin bu şekilde yanlış bir json çıktısı vermesi kendi ayıbı, bir hizmet vereceksen doğru düzgün ver.
Çözüme gelirsek basitçe halledelim, siteden veriyi alırken istemediğimiz yazıları silelim ve elimizde ham bir json çıktısı olsun, daha sonra onun üzerinde düzenlemeler yapabiliriz.
$file = file_get_contents('https://site.com/fiyat.php');
// istemediğimiz şeyleri silelim
$file = preg_replace('@</body>\s+</html>@', '', $file);
// Sonra json dosyası şeklinde kaydedelim
file_put_contents (__DIR__ . DIRECTORY_SEPARATOR . 'datas.json', $file);
// Buradan üstteki kısım ayrı bir php dosyasında olsun, belirli aralıklarla bu dosyayı çalıştırıp verileri güncelleyin
// Dosyayı kullanmak istediğinizde çağırın
$file = json_decode(file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . 'datas.json'), true);
// Array içinden verileri istediğiniz gibi kullanabilirsiniz
print_r($file);
SQL Injection diye aratırsan sebebini daha iyi anlarsın.
Olay şudur. Eğer bir sql sorgusunda kullanıcıdan gelen bir değişken kullanacaksanız prepare ile, siz kendiniz arka planda kullanıcının müdahalesi olmadan bir sql sorgusu yazacaksanız query ile yazın.
Checkbox ayarlarından kastınız ne, seçili olup olmama durumları mı?
Hocam bana veri çektiğiniz site hakkında daha detaylı bilgiyi [email protected] adresinden verirseniz daha iyi yardımcı olabilirim.
Onun haricinde örneğin json çıktı veren bir API hizmetine istek atalım, dönen veriyi de localde bir dosya olarak kaydedelim. İsteğin atıldığı örneğin api.php adında bir dosya olsun
$file = file_get_contents('https://jsonplaceholder.typicode.com/posts');
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'datas.json', $file);
Siz bu kısımda tabii preg_match ile ayıkladığınız verileri düzgünce organize edip json formatına sokmanız gerekecek.
Daha sonra file_get_contents ile o siteye değil de bilgilerin tutulduğu datas.json (veya senin belirlediğin herhangi bir isim) dosyasına istek atacaksın.
$file = file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . 'datas.json');
cache de falan tutmana gerek yok, çektiğin veriyi bir json dosyasında tut, sayfaya girenlere bu json dosyasında tutulan bilgileri göster. Bu json dosyasını da arkada her 30 dakikada bir cronjob ile de güncellersen sen de sürekli güncel kalmış olursun
Eğer PhpStorm kullanırsan scss veya sass yazarken aynı anda css e dönüştürüp minify edebilirsin. Sen scss yazarken o arkadan otomatik dönüştürür.