Aktualizowanie danych w PHP i HTML

1. Wprowadzenie

Aktualizowanie danych to jedna z podstawowych operacji w aplikacjach internetowych. Umożliwia użytkownikom zmianę wcześniej zapisanych informacji, np. edycję profilu, aktualizację produktu czy poprawę błędnych danych. W aplikacjach webowych proces ten najczęściej realizowany jest przy użyciu HTML (formularze) oraz PHP (obsługa danych i komunikacja z bazą danych).


2. Rola HTML w aktualizacji danych

HTML odpowiada za stworzenie formularza, który pozwala użytkownikowi wprowadzić nowe dane.

Przykład formularza:

<form action="update.php" method="POST">
    <input type="text" name="nazwa" placeholder="Nowa nazwa">
    <input type="number" name="cena" placeholder="Nowa cena">
    <input type="hidden" name="id" value="1">
    <button type="submit">Zaktualizuj</button>
</form>

Wyjaśnienie:

  • method="POST" – dane są przesyłane bezpośrednio (bez widoczności w URL),
  • input – pola do wprowadzania danych,
  • hidden – ukryte pole z identyfikatorem rekordu.

3. Rola PHP w aktualizacji danych

PHP odbiera dane z formularza i wykonuje zapytanie SQL aktualizujące dane w bazie.

Przykład kodu PHP:

<?php
$conn = new mysqli("localhost", "root", "", "sklep");

$id = $_POST['id'];
$nazwa = $_POST['nazwa'];
$cena = $_POST['cena'];

$sql = "UPDATE produkty SET nazwa='$nazwa', cena='$cena' WHERE id=$id";

$conn->query($sql);

echo "Dane zostały zaktualizowane!";
?>

4. Zapytanie SQL UPDATE

Do aktualizacji danych w bazie używamy polecenia SQL:

UPDATE nazwa_tabeli 
SET kolumna1 = wartość1, kolumna2 = wartość2 
WHERE warunek;

Uwaga: Brak warunku WHERE spowoduje aktualizację wszystkich rekordów!


5. Bezpieczeństwo

Podczas aktualizacji danych należy pamiętać o:

  • zabezpieczeniu przed SQL Injection (np. prepared statements),
  • walidacji danych (czy są poprawne),
  • filtrowaniu danych użytkownika.

6. Przykład z zabezpieczeniem (prepared statements)

$stmt = $conn->prepare("UPDATE produkty SET nazwa=?, cena=? WHERE id=?");
$stmt->bind_param("sdi", $nazwa, $cena, $id);
$stmt->execute();

7. Dobre praktyki

  • Zawsze używaj WHERE w zapytaniach UPDATE.
  • Sprawdzaj poprawność danych przed zapisaniem.
  • Informuj użytkownika o wyniku operacji.
  • Twórz kopie zapasowe przed dużymi zmianami.

8. Podsumowanie

Aktualizowanie danych w aplikacjach webowych to proces współpracy HTML i PHP. HTML umożliwia wprowadzanie danych, a PHP przetwarza je i zapisuje w bazie danych. Kluczowe jest zachowanie bezpieczeństwa i poprawności danych.


Zadanie opisowe (jednoosobowe)

Treść zadania:

Wyobraź sobie, że tworzysz stronę internetową dla biblioteki, w której administrator może edytować dane książek.

Opisz:

  1. Jak będzie wyglądał formularz HTML do edycji danych książki.
  2. Jakie dane powinny być przesyłane do PHP.
  3. Jak będzie wyglądać zapytanie SQL aktualizujące dane.
  4. Jak zabezpieczysz aplikację przed błędami i atakami.

Odpowiedź powinna mieć minimum 8–10 zdań.