@ "susturma" işareti php 8 de kaldırıldı
sorun başka bir js dosyasındaymış o yüzden engelleme yapıyormuş başkalarına yaşarsa bu sorunu aklında olsun :)
db ye md5 kaydediyorsan dizindede md5 li isim ile mi utuyorsun dosyayı
bunu bi denicem teşekkür ederim.
userıd isini kaydet ki mesaj tablosuna üye bilgilerini çok rahat bir şekilde çek bana göre ki ben öyle yapıyorum
ben üye işlemleri ile alakalı hiç bir yere üye bilgisi yazdırmam veya onun gibi işlemlere
sadece ID alırım ve o id ye denk geleni yazdırırım ondan önce o id varmı diye sorgulatırım döküm varsa kişi laga luga işlerle uğraşıp
sisteme zarar vermeye çalışmasın diye de bu işlemleri yapanları tespit eder kalıcı olarak banlarım yaptığı işlemlere göre açarım açmam bana kalır.
mesaj tablonda userID oluştur üye oraya mesaj yazınca üyenin id si oraya geçsin
sonra inner join ile eştleştirme yap userID= uye.id ye
row->uye.adsoyad misal böyle yapabilirsin.
yazdıklarıma sadece kendini vermeni öneririm kardeşim
aradıklarında bundan pek farklı olmayacak.
3 4 tane tabloyu birbine bağlicaksan inner join kullanıp ve tablolarındaki sütünlar aynı isimlere sahiple
sql sorgusunda bunaların adlarını değiştirip sorun çıkmamasını sağlayabailirsin
ben yine sana yazim bir örnek inner join ile
$veri = $db->prepare("
SELECT
yazar.id as YazarID,
yazar.adi as YazarAdi,
konu.id as KonuID,
konu.adi as KonuAdi
FROM
yazar
INNER JOIN
konu
ON
yazar.id = konu.id
WHERE
yazar.adi LIKE (:yazaradi) OR
konu.adi LIKE (:konuadi)
ORDER BY yazar.id DESC LIMIT 5");
$veri->execute([
":yazaradi" => "%".$word."%",
":konuadi" => "%".$word."%"
]);
ne yaptık yazar ve konu tablolarını bir tabloymuş gibi sıraladık
ve aradığın kelime " ahmet " ise yazar tablosundaki adi sütünan bakar bulamaz ise konu tablosundaki adi sutununa bakar
bulursa yazdırırkenden
foreach($veri as $row){
if($row["YazarAdi"] == ""){ // yazar adı boş ise konuadini verir
echo $row["KonuAdi"]
}else{
echo $row["YazarAdi"] // yazadı adı boş değilse yazar adını verir
}
}
//bide seninkinden yola çıkalım
$sql = $connect->query("
SELECT * FROM
oyunlar
INNER JOIN
programlar
ON
oyunlar.id = programlar.id
WHERE
programlar.baslik LIKE '%".$word."%' or
programlar.aciklama LIKE '%".$word."%' or
programlar.etiket LIKE '%".$word."%' LIMIT 7");
//sanırım böyle yapsan olur alel acele bu kadar :)
bundan sonrasınıda kendine göre uyarlarsın artık herhalde :)
başkalarının yaptıklarını oku tabiki ama her zaman kendin tekrar ve tekrar yaz
yoksa sadece copy paste yaparsın ve hiç bir şey öğrenemezsin
kendi yazarak yaparsan keyif alarak yaparsın öğrendikçede hevesin artar.
kodlarında $ekle için herhangir bir işlem yaptırmamışsın ki
sadece değişkene sorguyu yazmışsın ama sorguyu çalıştırmamışsın
$ekle = connect->prepare("INSERT INTO genel SET baslik=?, aciklama=? ,adre=? s,logo=? ,etiket=? ");
$ekle->execute([$baslik, $aciklama, $adres, $logo, $etiket]);
if($ekle->rowCount() ){
echo "eklendi";
}else{
echo "eklenmedi";
}
kısacası bir elseif daha çekmen gerekiyor senin kodlarına göre yada son elseif den sonra bir else daha
yani 2 tur de yok sa else çalışıyor
yada 3. bir tür varsa elseif $ekle çalışır
benim sorunum cevabı verdiğin cevap uygun değil fakat
başka yerlerden de çekmek hatta boş değer halinde bir başka yerden çekmek
daha iyi olur
bende 4 farklı firmadan çekmeye karar verdim
boş geldikçe alta atlıyor
üstüne bide kişiye özel panel tarafına manuel güncelleme ekledim artık isteyen istediği gibi yapar :)
hatta belki birilerinin işine yarar diye sadece senin verdiğin linkten nasıl çekeceklerinin fonksiyonunu paylaşayım.
kendimce basit bir şekilde bu şekilde yaptım ekstra bişiler yapmak isteyenlerde
yapabilirler.
function CanliDoviz($deger){
$jsonVeri = file_get_contents("https://canlidoviz.com/doviz-kurlari.jsonld",true);
$veri = json_decode($jsonVeri,1);
$response = $veri["mainEntity"]["itemListElement"];
$birim = $response[$deger]["currency"];
$result = $response[$deger]["currentExchangeRate"]["price"];
return $result;
}
// kullanırken
echo CanliDoviz(0); //->Dolar
echo CanliDoviz(1); //->Euro
strtotime() fonksiyonu ile halledersin
oyunlar tablonda baslik var ise
programlar tablonda baslik var ise hata verir zaten.
hangi baslik a göre belirtmemişsin
select * yerine
select
programlar.id as Pid,
urunler.id as uid,
programlar.baslik as pbaslik,
urunler.baslik as ubaslik
vs gibi işlem yap
on don sonra baslik yerine pbaslik yada programlar.baslik kullan ki düzgün olsun
ayrıca
programlar.baslik like blablabla
or
urunlar.aciklama like blablabla
or
programlar.etiket like blablabla
or
urunler.etiket like blablala
gibi yap bence.