Jak połączyć bazę danych z HTML?

Aby połączyć bazę danych z HTML, należy skorzystać z języka programowania po stronie serwera, który umożliwia komunikację między stroną internetową a systemem obsługi baz danych. Najczęściej wykorzystywane są tu rozwiązania oparte o PHP i bazę danych MySQL. Sam HTML nie jest w stanie samodzielnie obsługiwać operacji na bazie danych – jest językiem prezentacji, a logika realizowana jest w kodzie serwerowym.

Podstawowe założenia

  • HTML służy do tworzenia interfejsu (np. formularzy);
  • PHP (lub inne języki serwerowe, np. Python, Node.js) pośredniczy w przesyłaniu, pobieraniu, aktualizowaniu i kasowaniu danych w bazie;
  • MySQL to jedna z najpopularniejszych baz danych do zastosowań webowych.

Przykładowy scenariusz – dodawanie danych z formularza HTML do bazy danych

Tworzenie formularza HTML

Formularz pozwala użytkownikowi wprowadzić dane, które zostaną przesłane do pliku PHP zajmującego się zapisaniem ich w bazie.

<!DOCTYPE html>
<html>
<head>
    <title>Formularz rejestracji</title>
</head>
<body>
    <form action="insert.php" method="post">
        <div>
            <label>Imię:</label>
            <input type="text" name="name" required>
        </div>
        <div>
            <label>Email:</label>
            <input type="email" name="email" required>
        </div>
        <div>
            <label>Telefon:</label>
            <input type="text" name="mobile" required>
        </div>
        <input type="submit" name="submit" value="Wyślij">
    </form>
</body>
</html>

Obsługa danych w PHP i połączenie z bazą MySQL

Plik insert.php przyjmuje dane z formularza, łączy się z bazą i wykonuje zapytanie SQL.

Najpierw plik połączenia z bazą, np. db.php:

<?php
$servername = "localhost";
$username = "nazwa_uzytkownika";
$password = "haslo";
$dbname = "nazwa_bazy";

// Nawiązanie połączenia
$conn = new mysqli($servername, $username, $password, $dbname);

// Sprawdzenie połączenia
if ($conn->connect_error) {
    die("Połączenie nieudane: " . $conn->connect_error);
}
?>

Następnie logika dodawania danych w insert.php:

<?php
include_once 'db.php';

if(isset($_POST['submit'])) {
    // Odczyt danych z formularza
    $name = $_POST['name'];
    $email = $_POST['email'];
    $mobile = $_POST['mobile'];

    $sql = "INSERT INTO users (name, email, mobile) VALUES ('$name','$email','$mobile')";

    if (mysqli_query($conn, $sql)) {
        echo "Rekord został dodany poprawnie!";
    } else {
        echo "Błąd: " . $sql . "<br>" . mysqli_error($conn);
    }
    mysqli_close($conn);
}
?>

Uwaga!

W praktycznych zastosowaniach konieczne jest dodatkowe zabezpieczenie kodu przed atakami typu SQL Injection, np. poprzez stosowanie zapytań przygotowanych (prepared statements).

Przykłady zastosowań

  • Systemy rejestracji – przechowywanie zgłoszeń użytkowników w bazie danych z formularza kontaktowego;
  • Tablice ogłoszeń – użytkownik dodaje nowe ogłoszenie, które jest od razu zapisywane i wyświetlane;
  • Panele administracyjne – zarządzanie informacjami (dodawanie, edycja i usuwanie) poprzez interfejs WWW;
  • Bazy produktów w e-commerce – administrator lub klient może dodać/wyświetlić produkt.

Wyświetlanie danych z bazy w kodzie HTML

Analogicznie, dane z bazy można wyświetlać na stronie przechodząc przez 3 etapy:

  1. Nawiązanie połączenia z bazą dzięki PHP,
  2. wykonanie zapytania SELECT,
  3. wstawienie danych do kodu HTML.

Przykład (fragment):

<?php
include_once 'db.php';
$sql = "SELECT id, name, email, mobile FROM users";
$result = $conn->query($sql);

echo "<table>";
echo "<tr><th>Imię</th><th>Email</th><th>Telefon</th></tr>";
while($row = $result->fetch_assoc()) {
    echo "<tr>";
    echo "<td>".$row["name"]."</td>";
    echo "<td>".$row["email"]."</td>";
    echo "<td>".$row["mobile"]."</td>";
    echo "</tr>";
}
echo "</table>";

$conn->close();
?>

Inne technologie i alternatywy

  • Możesz skorzystać z innych języków po stronie serwera (Python z Flask/Django, Node.js z Express),
  • połączenie przez JavaScript wymaga zastosowania technologii takich jak AJAX (z użyciem backendu) lub API REST/GraphQL,
  • nowoczesne aplikacje często realizują komunikację HTML ↔ baza danych poprzez backend jako interfejs API.

Podsumowując – połączenie bazy danych z HTML wymaga wykorzystania języka serwerowego (najczęściej PHP) oraz odpowiednich funkcji do obsługi bazy danych. Sam HTML służy tylko do prezentacji i przesyłania danych, za całą logikę odpowiada kod serwera. Ten schemat znajduje zastosowanie wszędzie tam, gdzie wymagana jest interakcja użytkownika z danymi przechowywanymi w bazie, np. sklepy internetowe, systemy rejestracji, panele administracyjne.

Programista i twórca serwisu Creative Coding, absolwent Politechniki Warszawskiej (WEiTI). Od 10+ lat łączy front‑end, grafikę generatywną i narzędzia dla twórców; opublikował 120+ projektów i artykułów, prowadził warsztaty dla 2 000+ uczestników. Pracuje z JavaScriptem, Three.js, P5.js i GLSL, bada wydajność i dokumentuje procesy, tworząc praktyczne przewodniki dla osób łączących kod z obrazem, dźwiękiem i interakcją.
Zostaw komentarz

Komentarze

Brak komentarzy. Dlaczego nie rozpoczniesz dyskusji?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *