Merhaba.
Şu şekilde deneyin.
Eksik olanları kendiniz ekleyin.
<?php
if (isset($_POST)){
$sorgulistele = $db->query("SELECT * FROM sepeteeklenenurunler");
if($sorgulistele){
$say = $sorgulistele->rowCount();
if($say > 0) {
$sayi = 0;
while($sayi < $say) {
$siparisitamamla = $db->prepare('INSERT INTO sepetonaylanan SET
sepetonaylanan_adisoyadi = :adisoyadi,
sepetonaylanan_firmaadi = :firmaadi,
sepetonaylanan_sehiradi = :sehiradi,
sepetonaylanan_ilcesemt = :ilcesemt'
);
$siparisitamamla->execute([
":adisoyadi" => $_POST['aliciadisoyadi'][$sayi],
":firmaadi" => $_POST['alicifirma'][$sayi],
":sehiradi" => $_POST['sehir'][$sayi],
":ilcesemt" => $_POST['aliciilce'][$sayi]
]);
$sayi++;
}
if($siparisitamamla){
echo "İşlem Başarılı";
}else{
echo "İşlem Başarısız";
}
}
}
}
?>
Bunu index.php dosyasının başına yazıp deneyin.
<?php
session_start();
// Oturum açılmışsa panel.php'ye yönlendir.
if(isset($_SESSION['user_name'])){
header("Location: panel.php");
}else{
// Oturum açılmadıysa login.php'ye yönlendir.
header("Location: login.php");
}
?>
Merhaba.
index.php sayfasının başına şu kodu ekleyip deneyin.
<?php if(isset($_SESSION['user_name'])){ header("Location: panel.php"); } ?>
Öneri
Soru sorma editöründe küçük bir menü bar olabilir. Menüde Kod, Resim, Tablo oluştur vb. gibi seçenekler olsun.
Bu seçeneklere tıkladığımız zaman Markdown yapısında seçilen menüye göre o yapı editör içerisine yazılsın.
Class ismi ve method ismi olarak çağırabilirsiniz. Ancak fonksiyon ve değişkenin static olması gerekiyor. Kodu inceleyin.
Çağırma örneği.
kategoriler::liste();
<?php
include("baglan.php");
class kategoriler {
public static $ProductID;
public function __construct()
{
self::$ProductID = isset($_GET['test']) ? $_GET['test'] : null;
}
public static function liste()
{
global $db;
$query = $db->prepare("SELECT * FROM kategoriler WHERE kategori_id = ?");
$query->execute(
array(
self::$ProductID
));
$result = $query->fetchAll(PDO::FETCH_OBJ);
return $result;
}
}
$kategori = new kategoriler();
$sonuc = kategoriler::liste();
foreach($sonuc as $b){
echo $b->kategori_baslik;
};
Merhaba.
Ben denedim, çalışıyor.
Bağlantı dosyanızı projenize dahil ettiniz mi?
İnputa ketegori ID'sini yazıp gönderdiğimde ID'ye göre değeri çekebiliyorum.
<form action="kategoriler.php" method="GET">
<input type="text" name="test">
<button type="submit">Gönder</button>
</form>
<?php
include("baglan.php");
class kategoriler {
public $ProductID;
function __construct()
{
$this->ProductID = isset($_GET['test']) ? $_GET['test'] : null;
}
function liste()
{
global $db;
$query = $db->prepare("SELECT * FROM kategoriler WHERE kategori_id = ?");
$query->execute(
array(
$this->ProductID
));
$result = $query->fetchAll(PDO::FETCH_OBJ);
return $result;
}
}
$a = new kategoriler();
//print_r($a->liste());
foreach($a->liste() as $b){
echo $b->kategori_baslik;
};
Merhaba.
Virüs programında Dışalamalar, Yok sayılanlar veya bunun gibi bir yer varsa oradan tarama işleminde o programı es geçmesini sağlayabilirsiniz.
Tekrar merhaba.
Bir örnek yapmaya çalıştım.
Veritabanı yapımız.
ilan_kategoriler tablosu
kategori_id (int) | kategori_baslik (varchar) |
---|---|
1 | Satılık Ev |
2 | Kiralık Ev |
3 | Satılık Arsa |
ilanlar tablosu
ilan_id (int) | ilan_kategori_id (int) | ilan_baslik (varchar) |
---|---|---|
1 | 1 | Satılık Ev 1 |
2 | 1 | Satılık Ev 2 |
3 | 2 | Kiralık Ev 1 |
4 | 2 | Kiralık Ev 2 |
5 | 3 | Satılık Arsa 1 |
6 | 3 | Satılık Arsa 2 |
baglan.php
<?php
// DATABASE ADI = ilansitesi
try {
$db = new PDO("mysql:host=localhost;dbname=ilansitesi;charset=utf8","root","");
} catch (PDOException $e) {
exit('Bağlantı sağlanamadı!<br>'.$e->getMessage());
}
index.php
<?php include("baglan.php"); ?> <!-- VERİTABANI BAĞLANTI DOSYASI-->
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- JQUERY-->
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
<!-- AJAX DOSYAMIZ-->
<script src="Ajax.js"></script>
<title>İlan Sitesi</title>
</head>
<body>
<section class="container">
<div class="row d-flex justify-content-center">
<div class="col-sm-12">
<form>
<?php
$kategoriBul = $db->prepare("SELECT * FROM ilan_kategoriler");
$kategoriBul->execute();
$kategoriler = $kategoriBul->fetchAll(PDO::FETCH_ASSOC);
?>
<select class="custom-select" id="ilan-kategori">
<option selected value="0">Tümü</option>
<?php foreach ($kategoriler as $kategori): ?>
<option value="<?php echo $kategori["kategori_id"]; ?>" ><?php echo $kategori["kategori_baslik"]; ?></option>
<?php endforeach; ?>
</select>
</form>
</div>
</div>
<div class="row d-flex justify-content-center mt-4" id="ilanlar"></div>
</section>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
Ajax.js
$(document).ready(function(){
$("#ilanlar").hide();
$(document).on('change', '#ilan-kategori', function() {
var ilanKategori_id = $(this).val();
$.ajax({
url: "ilanlar.php",
type: "POST",
data: {"ilanKategori":ilanKategori_id},
success: function(result){
$("#ilanlar").show();
$("#ilanlar").html(result);
}
});
});
});
ilanlar.php
<?php
include("baglan.php");
if($_POST){
$kategori_id = $_POST["ilanKategori"];
$sql = "SELECT * FROM ";
if($kategori_id == 0){
$sql .= "ilanlar";
}else{
$sql .= "ilanlar WHERE ilan_kategori_id = :kategori_id";
}
$ilanBul = $db->prepare($sql);
if($kategori_id == 0){ $ilanBul->execute(); }else{ $ilanBul->execute([":kategori_id" => $kategori_id]); }
$ilanlar = $ilanBul->fetchAll(PDO::FETCH_ASSOC);
foreach ($ilanlar as $ilan): ?>
<div class="col-sm-12 col-md-4 col-lg-3">
<div class="card box-shadow mb-4">
<img class="card-img-top img-thumbnail border-white" src="img/resim.jpg" alt="<?php echo $ilan["ilan_baslik"]; ?>">
<div class="card-body">
<h5 class="card-title display-4" style="font-size: 24px"><b><?php echo $ilan["ilan_baslik"]; ?></b></h5>
<div class="d-flex justify-content-between align-items-center">
<a href="#" class="btn btn-info btn-sm btn-block">İlanı Gör</a>
</div>
</div>
</div>
</div>
<?php
endforeach;
}
Merhaba.
Burada ajax kullanılarak il ilçe uygulaması anlatılmış.
İl seçildikten sonra seçilen il'e ait ilçeler listeleniyor.
Sen il kısmını kategori, ilçe kısmını da ilanlar olarak düşün.
Videoyu izleyerek mantığını anlayabilirsiniz.