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

Aby połączyć bazę danych z kodem HTML, należy wykorzystać język programowania po stronie serwera, taki jak PHP, który umożliwia komunikację między stroną a bazą danych (najczęściej MySQL). Sam HTML służy jedynie do tworzenia struktury i formularzy – nie ma możliwości samodzielnego odczytu czy zapisu danych do bazy.

Jak przebiega połączenie HTML z bazą danych – krok po kroku

Stworzenie formularza HTML

Formularz HTML służy do zbierania danych od użytkownika, które następnie zostaną przesłane do skryptu PHP odpowiedzialnego za komunikację z bazą danych.

<!DOCTYPE html>
<html lang="pl">
<head>
  <meta charset="UTF-8">
  <title>Rejestracja użytkownika</title>
</head>
<body>
  <form action="insert.php" method="post">
    <label>Imię:</label> <input type="text" name="name"><br>
    <label>Email:</label> <input type="email" name="email"><br>
    <label>Telefon:</label> <input type="text" name="mobile"><br>
    <input type="submit" value="Zarejestruj">
  </form>
</body>
</html>

Połączenie PHP z bazą danych

Plik PHP odbiera dane z formularza i wykonuje operacje na bazie danych, np. dodaje nowy rekord do tabeli.

<?php
// Parametry połączenia
$host = "localhost";
$user = "nazwa_uzytkownika";
$password = "haslo";
$database = "nazwa_bazy";
// Nawiązanie połączenia z bazą
$conn = mysqli_connect($host, $user, $password, $database);
// Sprawdzenie połączenia
if (!$conn) {
  die("Błąd połączenia z bazą: " . mysqli_connect_error());
}
// Pobranie danych z formularza
$name = $_POST['name'];
$email = $_POST['email'];
$mobile = $_POST['mobile'];
// Zapis do bazy
$sql = "INSERT INTO users (name, email, mobile) VALUES ('$name', '$email', '$mobile')";
if (mysqli_query($conn, $sql)) {
  echo "Użytkownik został dodany!";
} else {
  echo "Błąd: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>

Uwaga – powyższy przykład z użyciem surowych danych ($_POST) jest edukacyjny; w praktyce należy stosować funkcje ochrony przed SQL Injection, np. mysqli_real_escape_string() lub rozwiązania PDO z przygotowanymi zapytaniami.

Schemat działania

  • Użytkownik wypełnia formularz HTML i zatwierdza go,
  • dane przesyłane są do pliku PHP wskazanego w atrybucie action formularza,
  • PHP pobiera dane, łączy się z bazą, wykonuje żądane operacje (np. dodaje dane do tabeli),
  • wynik operacji jest zwracany użytkownikowi (np. komunikat o sukcesie).

Przykłady zastosowań

Rejestracja użytkowników
Strona z formularzem rejestracyjnym, gdzie nowi użytkownicy są zapisywani w bazie danych serwisu.

Panel logowania
Weryfikacja danych logowania – PHP sprawdza w bazie, czy istnieje użytkownik o podanych danych i generuje sesję.

Kontakt przez formularz
Dane przesłane z formularza kontaktowego są zapisywane w bazie, skąd administrator może je później pobrać.

Wyświetlanie dynamicznych danych
Strony internetowe pobierające z bazy np. listę produktów, posty na blogu czy wyniki wyszukiwania, a następnie wyświetlające je w HTML.

Rozwiązania alternatywne i dodatkowe

  • AJAX (JavaScript + PHP/ASP.NET itp.) – pozwala przesyłać dane do bazy bez przeładowania strony;
  • Frameworki (np. Laravel, Symfony) – automatyzują, zabezpieczają i przyspieszają cały proces;
  • PDO zamiast mysqli – bezpieczniejsze i bardziej uniwersalne podejście do obsługi baz danych;
  • Backendy jak Node.js – alternatywa dla PHP, również umożliwiająca łączenie z bazą danych.

Najczęstsze błędy i zagrożenia

  • Brak walidacji danych – pozwala na przesyłanie błędnych lub szkodliwych informacji;
  • Brak ochrony przed SQL Injection – może prowadzić do kradzieży lub uszkodzenia danych;
  • Nieczytelne komunikaty o błędach – brak informacji, co poszło nie tak, utrudnia diagnozowanie problemów;
  • Ujawnianie danych konfiguracyjnych – np. loginów i haseł do bazy w przypadkowo udostępnionych plikach.

Podsumowanie

HTML nie łączy się bezpośrednio z bazą danych. Połączenie realizuje się przez język programowania po stronie serwera (np. PHP), który przetwarza dane z formularza i komunikuje się z bazą. Najczęściej stosowane rozwiązania bazują na PHP oraz bazie danych MySQL/MariaDB. W nowoczesnych aplikacjach coraz popularniejsze staje się wykorzystywanie frameworków oraz technologii AJAX dla osiągnięcia lepszej interaktywności i bezpieczeństwa.

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 *