Php Ile 4 Işlem (Detaylı)

Katılım
12 Mar 2024
Konular
49
Mesajlar
65
Tepkime puanı
24
Çevrimiçi zaman
19 saat 7 dakika
Konum
samsun
Ticaret
0 / 0 / 0
PHP:
<?php
// Dört işlemi gerçekleştiren fonksiyon
function dortIslem($sayi1, $sayi2, $islem) {
    // Gerekli parametrelerin dolu olup olmadığını kontrol et
    if ($sayi1 === '' || $sayi2 === '' || $islem === '') {
        return "Lütfen tüm alanları doldurun!";
    }

    // Sıfıra bölme hatasını kontrol et
    if ($islem === '/' && $sayi2 == 0) {
        return "Sıfıra bölme hatası!";
    }

    // Eğer birinci sayı 0 ise ve işlem bölme (/) ise, sonucu "tanımsız" olarak belirle
    if ($sayi1 == 0 && $islem === '/') {
        return "Tanımsız";
    }

    switch ($islem) {
        case '+':
            return "$sayi1 + $sayi2 = " . ($sayi1 + $sayi2);
        case '-':
            return "$sayi1 - $sayi2 = " . ($sayi1 - $sayi2);
        case '*':
            return "$sayi1 * $sayi2 = " . ($sayi1 * $sayi2);
        case '/':
            return "$sayi1 / $sayi2 = " . ($sayi1 / $sayi2);
        default:
            return "Geçersiz işlem!";
    }
}

// Kullanıcıdan girdileri alma
$sayi1 = $_POST['sayi1'] ?? '';
$sayi2 = $_POST['sayi2'] ?? '';
$islem = $_POST['islem'] ?? '';

// Form submit edildiğinde
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Girdiler tamamsa işlemi yap ve sonucu ekrana yazdır
    $sonuc = dortIslem($sayi1, $sayi2, $islem);
} else {
    // Form submit edilmediyse, $sonuc değişkenine varsayılan bir değer verelim
    $sonuc = '';
}
?>

<form method="post">
    Sayı 1: <input type="number" name="sayi1" value="<?php echo $sayi1; ?>"><br>
    Sayı 2: <input type="number" name="sayi2" value="<?php echo $sayi2; ?>"><br><br><br>

    <select name="islem">
        <option value="">SEÇ</option>
        <option value="+" <?php if ($islem === '+') echo 'selected'; ?>>Toplama</option>
        <option value="-" <?php if ($islem === '-') echo 'selected'; ?>>Çıkarma</option>
        <option value="*" <?php if ($islem === '*') echo 'selected'; ?>>Çarpma</option>
        <option value="/" <?php if ($islem === '/') echo 'selected'; ?>>Bölme</option>
    </select><br>
    <input type="submit" value="Hesapla"><br><br>
</form>

<?php
echo "Seçilen Sayılar: $sayi1, $sayi2 <br>";
echo "Yapılan İşlem: ";
if ($islem === '+') {
    echo "Toplama (+)";
} elseif ($islem === '-') {
    echo "Çıkarma (-)";
} elseif ($islem === '*') {
    echo "Çarpma (*)";
} elseif ($islem === '/') {
    echo "Bölme (/)";
} else {
    echo "İşlem Seçilmedi";
}
echo "<br>";
echo "Sonuç: " . $sonuç;
?>

  1. Fonksiyon Tanımı (dortIslem):
    • dortIslem adında bir fonksiyon tanımlıyoruz. Bu fonksiyon, kullanıcının girdiği sayılar ve işlem türüne göre dört işlem yapıyor.
    • Fonksiyon, üç parametre alır: $sayi1, $sayi2 ve $islem.
  2. Hata Kontrolü:
    • Fonksiyon içinde, gerekli parametrelerin boş olup olmadığını kontrol ediyoruz ($sayi1, $sayi2 ve $islem). Eğer biri boşsa, "Lütfen tüm alanları doldurun!" hatası döndürülür.
    • Bölme işlemi yapılıyorsa ve bölen sıfırsa, "Sıfıra bölme hatası!" hatası döndürülür.
    • Eğer birinci sayı sıfırsa ve işlem bölme ise, "Tanımsız" hatası döndürülür.
  3. İşlem Yapma:
    • Switch-case yapısı ile, işlem türüne göre gerekli işlem yapılır ve sonuç bir string olarak döndürülür.
  4. Form Verilerini Alma:
    • $sayi1, $sayi2 ve $islem değişkenlerine, formdan POST metoduyla gönderilen verileri alıyoruz.
  5. Form Gönderildiğinde:
    • Eğer form gönderilmişse ($_SERVER["REQUEST_METHOD"] == "POST"), form verilerini kullanarak işlem yapılır (dortIslem fonksiyonu çağrılır) ve sonuç değişkenine atanır.
  6. Form Gönderilmediğinde:
    • Eğer form gönderilmemişse, yani sayfa ilk defa yüklendiğinde veya yenilendiğinde, sonuç değişkeni varsayılan olarak boş olarak atanır.
  7. Form Alanları ve Buton:
    • HTML formunu oluşturuyoruz. Kullanıcıdan iki sayı ve bir işlem seçmesi istenir.
    • İlk defa yüklenen sayfada veya sayfa yenilendiğinde, önceki değerler bu alanlara varsayılan olarak yerleştirilir (value="<?php echo $sayi1; ?>" gibi).
  8. İşlem Sonucunu Gösterme:
    • Kullanıcının seçtiği sayıları ve yaptığı işlemi ekrana basıyoruz.
    • Eğer bir işlem seçilmediyse, "İşlem Seçilmedi" mesajı gösterilir.
    • Son olarak, işlem sonucu ekrana basılır.
NOT: istediğiniz gibi kullanıp geliştirebilirsiniz.
 

Users who are viewing this thread

Benzer konular

Ana Sayfa Kayıt Ol Giriş Yap
Üst