Bu işinize yaracaktır hocam
<input type="file" name="dosya" id="dosya" />
$dosya = $_FILES["dosya"];
move_uploaded_file($dosya["tmp_name"],
"../../dosya/yolu/". $isim .".". pathinfo($dosya["tmp_name"], PATHINFO_EXTENSION));
return $query->fetchAll();
yerine return $query->fetch();
yaparsanız düzelecektir diye düşünüyorum hocam.
Hocam böyle yaparsanız çalışacaktır
<html>
<body>
<div class="alert alert-primary mt-3" role="alert" id="odemeekrani">
</div>
<select class="form-control form-control-sm urun" name="urun1" id="urun1" data-urunadi="A Kalemi">
<option data-fiyat="0" value="0">Seçiniz..</option>
<option data-fiyat="50" value="1">1</option>
<option data-fiyat="60" value="2">2</option>
<option data-fiyat="75" value="3">3</option>
<option data-fiyat="105" value="4">4</option>
</select>
<script>
[...document.querySelectorAll("select.urun")].forEach(urun => {
// Eğer Select Değişirse (onChange)
urun.addEventListener("change", function(e) {
// data-urunadi nın değerini aldık
var urunadi = this.dataset.urunadi;
//şimdi seçilmiş olan option un fiyatını ve değerini alıcaz
var secilmisOption = this.options[this.selectedIndex];
console.log("Ürün => " + urunadi);
console.log("Fiyat => " + secilmisOption.dataset.fiyat);
console.log("Kaç Tane Alındı => " + secilmisOption.value);
//işlemler Buraya
})
})
</script>
</body>
</html>
Önemli değil hocam iyi günler dilerim.
Hocam direkt olarak urunadi
alınmıyor diye biliyorum data-urunadi
daha kullanışlı olur.
Aynı şey fiyatlar içinde geçerli
Daha verimli olması için tüm ürün select lerine urun
classı verelim.
<div class="alert alert-primary mt-3" role="alert" id="odemeekrani">
</div>
<select class="form-control form-control-sm urun" name="urun1" id="urun1" data-urunadi="A Kalemi">
<option data-fiyat="0" value="0">Seçiniz..</option>
<option data-fiyat="50" value="1">1</option>
<option data-fiyat="60" value="2">2</option>
<option data-fiyat="75" value="3">3</option>
<option data-fiyat="105" value="4">4</option>
</select>
Javascript tarafında rahat edeceğiz böyle yaparsak.
// Tüm ürün classlarını çekiyoruz.
//(Birden fazla ürün olduğunu varsayıyoruz)
[...document.querySelectorAll("select.urun")].forEach(urun => {
// Eğer Select Değişirse (onChange)
urun.addEventListener("change", function(e) {
// data-urunadi nın değerini aldık
var urunadi = this.dataset.urunadi;
//şimdi seçilmiş olan option un fiyatını ve değerini alıcaz
var secilmisOption = this.options[this.selectedIndex];
console.log("Ürün => " + urunadi);
console.log("Fiyat => " + secilmisOption.dataset.fiyat);
console.log("Kaç Tane Alındı => " + secilmisOption.value);
})
})
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
}
}