Sorun değil hocam.
İlk hata için
$_GET["word"]
içindeki wordü Parametre Aldığınız Değer Yani
deneme.com/deneme?word=deneme
olan değerdir.
Eğer Olmaz ise
İkinci Hata İçin
$sql = $db->prepare("SELECT * FROM sonuclar WHERE baslik or aciklama or etiket LIKE '% :word %' LIMIT 7");
böyle denermisiniz hocam büyük ihtimal birleşik olduğu için :word% diye saymış olabilir.
Üçüncü hata için
if ($sql->num_rows) {
a çevirirseniz olacaktır diye düşünüyorum.
Hocam şöyle de yapabilirsiniz.
$word = strip_tags(htmlspecialchars(trim($_GET["word"]), ENT_QUOTES));
<?php
/*
strip_tags Html etiketlerini texte dönüştürür. Örnek:' Bu Bir Link ' => ' <a href="#">Bu Bir Link</a> '
htmlspecialchars Yazıyı HTML Symbollerine dönüştürür.
trim Sağ ve soldan boşlukları siler.
*/
$word = strip_tags(htmlspecialchars(trim($word), ENT_QUOTES));
/* Böyle kullanmanız daha güvenli olacaktır çünkü db burda derliyor sen orda direkt yazıyı
koyarsan derlemeden sql injection ile yorum satırı yapıp bilgilerine erişebilirler. */
$sql = $db->prepare("SELECT * FROM sonuclar WHERE baslik or aciklama or etiket LIKE '%:word%' LIMIT 7");
$sql->execute([":word" => $word]);
/* Bunun bi özelliği yok sütün sayısı 0 dan büyükse işte :P*/
if ($sql->rowCount() > 0) {
echo '<br>';
echo '<a id="sonuc">Şuan da "'.$word.'" sözcüğüyle ilgili arama sonuçlarını görüyorsunuz.</a>';
while ($row = $sql->fetch_assoc())
?>
Hocam sizin için araştırdım ve böyle bir konu buldum umarım işinize yarar.
https://stackoverflow.com/questions/6933079/pdo-mysql-select-statement-returning-boolean-true/6933107
Hocam soruyu yanlış anlamışım kusura bakmayın ve bunun için özür dilerim. İlk önce username i kontrol edip daha sonra pass kontrol etmeyi denediniz mi? Bence parçalara ayırırsanız hatayı bulmak kolaylaşacaktır.
Örnek Verirsek
$k = emailkontrol();
$k->execute()
if($k->rowCount() > 0){
$pass = $k["pass"];
$passcheck = ($pass == $gelenpassdegeri);
if($passcheck){
//işlemler
} else {
//hata
}
}
Bunu dener misiniz Hocam.
$sql = $db->query("SELECT * FROM veritabani WHERE baslik LIKE '%".$word."%' LIMIT 5");
Hocam session'a bir şey kaydetmeniz için ilk olarak session_start()
ile oturum başlatmalısınız.
...
try {
$stmt=$this->db->prepare("SELECT * FROM admins WHERE username=? AND pass=?");
$stmt->execute([$username, md5($pass)]);
if ($stmt->rowCount() > 0) {
$row=$stmt->fetch(PDO::FETCH_ASSOC);
session_start();
$_SESSION["admins"]=[
"username" => $username,
"fullname" => $row['fullname'],
"avatar" => $row['file'],
"id" => $row['id']
];
...
Bu arada ufak bi tüyo vereyim: MD5 yerine password_hash()
şifrelemede daha iyi olacaktır.
$arr[0]["Ad Unit 1"];
olmuyor mu hocam.
Hocam ilk olarak:
var arr = [];
ile array oluşturup daha sonra formdaki tüm inputları forEachle alarak valuesini alarak arrayin input name ine atayabilirsiniz anlamamış olabileceğiniz için bir örnekle göstereceğim.
// "form>input" yerini değiştirebilirsiniz örnek ".denemeclass" şeklinde girebilirsiniz ancak
// id olarak girdiğinizde ("#denemeid") geçersiz olacaktır.
document.querySelectorAll("form>input").forEach(input => {
arr[input.name] = input.value;
});
Sonra Onu Ekrana veya Konsola yazdırabilirsiniz.
console.log(arr);
Ben bunu xhr ile nodejs e veri gönderirken kullanıyordum çünkü bodyParser json olarak almıyordu bende böyle bi algoritma kurup veriyi json olarak gönderdim.
Hocam bu işinizi görecektir.
preg_replace("`((http)+(s)?:(//)|(www.))((w|.|-|_)+)(/)?(S+)?`i",
"<a target='_blank' href='(2 x tersslash)0' title='(2 x tersslash)0'>(2 x tersslash)0</a>",
$blogyazisi);