Untitled

 avatar
unknown
plain_text
5 months ago
4.2 kB
3
Indexable
Anladım, tüm sayfaları düzenleyip, hatasız bir şekilde vereceğim. Aşağıda, her bir dosyanın tam PHP kodunu bulabilirsiniz: 

### `giris.php` (Ders sayısını alma ve diğer sayfalara yönlendirme)

```php
<?php
// Form gönderildiğinde ders sayısını alır ve dersler.php'ye yönlendirir
if (isset($_POST['submit'])) {
    $ders_sayisi = (int)$_POST['ders_sayisi']; // Girilen ders sayısını alıyoruz ve integer'a çeviriyoruz
    header("Location: dersler.php?ders_sayisi=" . $ders_sayisi);
    exit();
}
?>

<!-- Ders sayısı girişi formu -->
<form method="POST" action="">
    <label for="ders_sayisi">Toplam Ders Sayısı:</label>
    <input type="number" name="ders_sayisi" id="ders_sayisi" min="1" required>
    <input type="submit" name="submit" value="Gönder">
</form>
```

### `dersler.php` (Ders adlarını ve öğrenci sayılarını alma)

```php
<?php
if (!isset($_GET['ders_sayisi']) || (int)$_GET['ders_sayisi'] < 1) {
    die("Geçerli bir ders sayısı girilmedi.");
}

$ders_sayisi = (int)$_GET['ders_sayisi'];

if (isset($_POST['submit'])) {
    $ders_adlari = $_POST['ders_adi'];
    $ogrenci_sayilari = $_POST['ogrenci_sayisi'];

    // Bilgileri işliyoruz, burada veritabanına kaydedebilir veya başka işlemler yapabilirsiniz
    echo "Girilen ders ve öğrenci bilgileri:<br>";
    for ($i = 0; $i < $ders_sayisi; $i++) {
        echo "Ders: " . htmlspecialchars($ders_adlari[$i]) . " - Öğrenci Sayısı: " . (int)$ogrenci_sayilari[$i] . "<br>";
    }

    // Not giriş sayfasına yönlendiriyoruz
    header("Location: notlar.php?ders_sayisi=" . $ders_sayisi);
    exit();
}
?>

<!-- Ders adı ve öğrenci sayısı girişi formu -->
<form method="POST" action="">
    <input type="hidden" name="ders_sayisi" value="<?php echo $ders_sayisi; ?>">
    <?php for ($i = 0; $i < $ders_sayisi; $i++) { ?>
        <label for="ders_adi_<?php echo $i; ?>">Ders Adı:</label>
        <input type="text" name="ders_adi[]" id="ders_adi_<?php echo $i; ?>" required>
        <label for="ogrenci_sayisi_<?php echo $i; ?>">Öğrenci Sayısı:</label>
        <input type="number" name="ogrenci_sayisi[]" id="ogrenci_sayisi_<?php echo $i; ?>" min="1" required><br><br>
    <?php } ?>
    <input type="submit" name="submit" value="Gönder">
</form>
```

### `notlar.php` (Öğrenci vize ve final notlarını alma)

```php
if (!isset($_GET['ders_sayisi']) || (int)$_GET['ders_sayisi'] < 1) {
    die("Geçerli bir ders sayısı girilmedi.");
}

$ders_sayisi = (int)$_GET['ders_sayisi'];

// Eğer form gönderildiyse notları al ve işle
if (isset($_POST['submit'])) {
    $vize_notlari = $_POST['vize'];
    $final_notlari = $_POST['final'];

    // Girilen notları işliyoruz
    echo "Girilen Vize ve Final Notları:<br>";
    for ($i = 0; $i < $ders_sayisi; $i++) {
        echo "Öğrenci " . ($i + 1) . ": Vize Notu: " . (int)$vize_notlari[$i] . " - Final Notu: " . (int)$final_notlari[$i] . "<br>";
    }

    exit();
}
?>

<!-- Öğrenci no, vize ve final notları girişi formu -->
<form method="POST" action="">
    <?php for ($i = 0; $i < $ders_sayisi; $i++) { ?>
        <label for="vize_<?php echo $i; ?>">Öğrenci <?php echo $i + 1; ?> Vize Notu:</label>
        <input type="number" name="vize[]" id="vize_<?php echo $i; ?>" min="0" max="100" required>
        <label for="final_<?php echo $i; ?>">Final Notu:</label>
        <input type="number" name="final[]" id="final_<?php echo $i; ?>" min="0" max="100" required><br><br>
    <?php } ?>
    <input type="submit" name="submit" value="Gönder">
</form>
```

### Açıklamalar:
1. **`giris.php`**: Kullanıcıdan ders sayısını alır ve `dersler.php` sayfasına yönlendirir.
2. **`dersler.php`**: Kullanıcıdan ders adı ve her dersin öğrenci sayısını alır. Bu bilgiler gönderildiğinde `notlar.php` sayfasına yönlendirir.
3. **`notlar.php`**: Her ders için vize ve final notlarını toplar ve bunları ekrana yazdırır. Notlar 0 ile 100 arasında olmalıdır.

Bu yapıyı kullanarak, ders sayısı, ders adı ve öğrenci sayısını dinamik bir şekilde oluşturabilir, daha sonra öğrenci vize ve final notlarını kaydedip gösterebilirsiniz.
Editor is loading...
Leave a Comment