PHP İndirim Uygulaması
Bu örneğimiz ile PHP kullanarak ve yanında Bootstrap ekleyerek güzel görselliği olan bir indirim uygulaması yapacağız.
Merhaba bu anlatımım ile sizlere bir pratik yaptıracağım ve bu pratik ile Koşul yapısını ve aynı zamanda POST ve GET methodlarının nasıl kullanıldığını göstermiş olacağız. Bunların yanında temel PHP bilgisi ile fazlasıyla elementler kullanacağız. Uygulamamızın çalışma mantığı 2 ürün var kot ve gömlek. Bakiye 500₺ ve ürünlerin toplamı 200 lirayı geçerse küçük fiyatlı ürüne %20 indirim uygulanacak.
Öncelikle kodumuzun tam görünümünü görelim :
<?php
/*
Taha Furkan Bayar - Developer
Mail : [email protected]
Github : https://github.com/tahafurkanbayar
LinkedIn : https://www.linkedin.com/in/tahafurkanbayar/
Website : https://cilginyazilim.com/profile/tahafurkanbayar
Twitter : @tfbdev
İnstagram : @tfbdev
*/
if(isset($_POST["kontrol"])) //kontrol adında bir form nesnesi var mı kontrolü yapılıyor
{
$bakiye = 500;
$gomlek=$_POST["gomlek"];
$kot=$_POST["kot"];
$uruntoplam = $kot + $gomlek;
if ($uruntoplam > $bakiye){
$mesaj = '<div class="alert alert-danger alert-dismissible fade show" role="alert">
<strong>HATA!</strong> Bakiyeniz Yetersizdir....
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>';
} else {
if($uruntoplam < 200){
$mesaj = '<div class="alert alert-success alert-dismissible fade show" role="alert">
<strong>Başarılı</strong> Almış olduğunuz Ürünlerin Toplam Fiyatı '.$uruntoplam.' dir
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>';
}else {
if ($kot < $gomlek) {
$indirim = $kot - ($kot*0.20);
$toplamfiyat = $indirim + $gomlek;
$mesaj = '<div class="alert alert-success alert-dismissible fade show" role="alert">
<strong>Başarılı</strong> Almış olduğunuz Ürünlerin Toplam Fiyatı '.$toplamfiyat.' dir
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>';
}else{
$indirim = $gomlek - ($gomlek*0.20);
$toplamfiyat = $indirim + $kot;
$mesaj = '<div class="alert alert-success alert-dismissible fade show" role="alert">
<strong>Başarılı</strong> Almış olduğunuz Ürünlerin Toplam Fiyatı '.$toplamfiyat.' dir
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>';
}
}
}
}
?>
<!doctype html>
<html lang="tr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>İndirim Uygulaması</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-12 mt-4">
<?=@$mesaj;?>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="post">
<div class="mb-3">
<label for="gomlek" class="form-label">Gömlek</label>
<input type="text" class="form-control" name="gomlek">
</div>
<div class="mb-3">
<label for="kot" class="form-label">Kot</label>
<input type="text" class="form-control" name="kot">
</div>
<button type="submit" class="btn btn-primary" name="kontrol">Hesapla</button>
</form>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-IDwe1+LCz02ROU9k972gdyvl+AESN10+x7tBKgc9I5HFtuNz0wWnPclzo6p9vxnk" crossorigin="anonymous"></script>
</body>
</html>
Kodlarımızın çıktısı ise şu şekilde :
Uygulamamızı Adım Adım Açıklayalım
PHP Kısmını ele alırsak PHP kısmında bulunan kodlarımızı görelim :
<?php
if(isset($_POST["kontrol"])) //kontrol adında bir form nesnesi var mı kontrolü yapılıyor
{
$bakiye = 500;
$gomlek=$_POST["gomlek"];
$kot=$_POST["kot"];
$uruntoplam = $kot + $gomlek;
if ($uruntoplam > $bakiye){
$mesaj = '<div class="alert alert-danger alert-dismissible fade show" role="alert">
<strong>HATA!</strong> Bakiyeniz Yetersizdir....
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>';
} else {
if($uruntoplam < 200){
$mesaj = '<div class="alert alert-success alert-dismissible fade show" role="alert">
<strong>Başarılı</strong> Almış olduğunuz Ürünlerin Toplam Fiyatı '.$uruntoplam.' dir
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>';
}else {
if ($kot < $gomlek) {
$indirim = $kot - ($kot*0.20);
$toplamfiyat = $indirim + $gomlek;
$mesaj = '<div class="alert alert-success alert-dismissible fade show" role="alert">
<strong>Başarılı</strong> Almış olduğunuz Ürünlerin Toplam Fiyatı '.$toplamfiyat.' dir
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>';
}else{
$indirim = $gomlek - ($gomlek*0.20);
$toplamfiyat = $indirim + $kot;
$mesaj = '<div class="alert alert-success alert-dismissible fade show" role="alert">
<strong>Başarılı</strong> Almış olduğunuz Ürünlerin Toplam Fiyatı '.$toplamfiyat.' dir
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>';
}
}
}
}
?>
- Öncelikle bir koşul yapısı başlattık ve POST metodu ile çalışan "kontrol" name'i ile yazılmış buton ile veri almamızı sağladığımız için biz de koşulumuzu oradan gelecek veriye göre yazıyoruz.
- Bir bakiye değişkeni verdik ve manuel olarak bakiyemizi 500 olarak belirledik.
- Gömlek ve Kot değişkenleri oluşturduk ve bunları Form elementlerimizde bulunun name değerlerini girdik ve kontrol ile bize gelen veri o inputların doldurduğu veriler olacak.
- Öncelikle kot ve gömleği topluyoruz ve bunu ürüntoplam adında bir değişkene atıyoruz.
- Bir sonraki koşulumuzda bakiye yeterli mi onu sorguluyoruz. Eğer ürüntoplam değişkeni bakiye değişkeninden büyük ise bakiye yetersiz mesajını ekrana yazdıracağız.
- Bir sonraki koşulumuz Ürünlerin toplamı 200 lirayı geçiyor mu diye sorguluyoruz. Çünkü 200 lirayı geçiyor ise küçük olan ürüne %20 indirim uygulanacak. Eğer veriler bu koşula uyuyorsa ve 200 liradan küçük ise işlemin başarılı olacağını ve indirimsiz şekilde fiyatlarının çıktı edileceğini belirtelim.
- Eğer ürünlerin toplam fiyatı 200 liradan büyük ise sonraki koşullarımız işleyecek.
- Burada kot ve gömlek ayrı ama aynı içerikli iki koşul yapısı var bunun sebebi hangisi küçük yazılır ise ona indirim uygulanması için.
- Burada kısaca şunu diyoruz kot gömlekten küçük ise kot fiyatını 0.20 ile çarp ve kot fiyatından çıkart yani bu işlem ile kot fiyatına indirim yapmış oluyoruz.
- Ayrıca bu işlemlerin çıktısını da echo ile mesaj şeklinde veriyoruz.