Instrukcja if w php

0

Cześć,
mam za zadanie w do istniejącego kodu z przykładu dodać checkboxa, który po zaznaczeniu będzie sprawiał, że w generowanej tablicy co drugi wiersz będzie miał kolor żółty.
Dodałem checkboxa w html'u, a w php if'a (w znaczniku tr) sprawdzającego czy checkbox jest zaznaczony ale to nie działa.
Czy mógłym prosić o radę co robię źle?
Kod HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>WIT</title>
</head>
<body>
    <form method="post" action="przyklad2.php">
        Liczba wierszy:
        <select name="liczba_wierszy">
            <option value="5">5</option>
            <option value="10">10</option>
            <option value="15">15</option>
        </select>
        <br/>
        
        Liczba kolumn:
        <select name="liczba_kolumn">
            <option value="5">5</option>
            <option value="10">10</option>
            <option value="15">15</option>
        </select>
        <br/>
        
        Kolor tła strony:
        <select name="kolor_tla">
            <option value="green">green</option>
            <option value="blue">blue</option>
            <option value="yellow">yellow</option>
        </select>
        <br/>
        <label for="koloruj">Tło co drugiego wiersza na żółto:</label>
        <input type="checkbox" id="koloruj">
        <br>
        
        <button type="submit">Wyślij</button>
    </form>
</body>
</html>

Kod PHP:

<?php
$liczbaWierszy = $_POST['liczba_wierszy'] ?? 2;
$liczbaKolumn = $_POST['liczba_kolumn'] ?? 2;
$kolorTla = $_POST['kolor_tla'] ?? 'white';
$zoltewiersze = $_POST['koloruj'] ?? false;
?>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>WIT</title>
    <style>
        td {
            border: 1px solid black;
        }
    </style>
</head>

<body style="background-color: <?= $kolorTla ?>">
    <table>
        <?php for ($i = 0; $i < $liczbaWierszy; $i++) : ?>
            <tr style="background-color: <?php if ($zoltewiersze == true && $i%2 == 1): ?> yellow <?php endif ?>">
                <?php for ($j = 0; $j < $liczbaKolumn; $j++) : ?>
                    <td><?= $i ?>.<?= $j ?></td>
                <?php endfor; ?>
            </tr>
        <?php endfor; ?>
    </table>
</body>

</html>
4

Mylisz id z name.

1

Z zadania wynika ze po zaznaczeniu checkboxa ma kolorwac wiersze, czyli musisz uzyc JavaScript

1
masterc napisał(a):

Z zadania wynika ze po zaznaczeniu checkboxa ma kolorwac wiersze, czyli musisz uzyc JavaScript

Ja bym użyła raczej CSS i załatwiła wszystko jedną linijką deklaracji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1