Jednym z kluczowych narzędzi zapewniających interakcję użytkowników i przekazywanie informacji są formularze HTML, które pozwalają użytkownikom wprowadzać różnorodne dane. Aby te dane były odpowiednio gromadzone i przechowywane, wykorzystuje się bazy danych.
W tym kontekście skrypty PHP pełnią kluczową rolę, umożliwiając przesyłanie danych z formularza do bazy danych MySQL w sposób niezwykle efektywny i niezawodny.
W niniejszym artykule przyjrzymy się bliżej temu procesowi i przedstawimy prosty, lecz praktyczny skrypt PHP, który umożliwia dodawanie danych z formularza HTML do bazy danych MySQL. Odkryjmy krok po kroku, jak wykorzystać te narzędzia, aby zbudować interaktywną stronę internetową, która zbierze i zapisze informacje od użytkowników w sposób płynny i bezpieczny.
Skrypt PHP do umieszczenia na serwerze FTP:
Oto przykład prostego skryptu PHP dodającego dane z formularza HTML do bazy danych MySQL. Dla poniższej instrukcji, plik .php nazywa się: dodaj_do_bazy.php
.
Plik .php możesz umieścić np. w katalogu z plikiem HTML Twojej strony internetowej.
<?php
// Połączenie z bazą danych
$servername = "localhost";
$username = "nazwa_uzytkownika";
$password = "haslo";
$dbname = "nazwa_bazy_danych";
$conn = new mysqli($servername, $username, $password, $dbname);
// Sprawdzenie połączenia
if ($conn->connect_error) {
die("Błąd połączenia: " . $conn->connect_error);
}
// Pobranie danych z formularza
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$imie = $_POST["imie"];
$nazwisko = $_POST["nazwisko"];
$email = $_POST["email"];
}
// Dodanie danych do bazy danych
$sql = "INSERT INTO tabela (imie, nazwisko, mail) VALUES ('$imie', '$nazwisko', '$mail')";
if ($conn->query($sql) === TRUE) {
echo "Dane zostały dodane poprawnie do bazy danych.";
} else {
echo "Błąd: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
Upewnij się, że dostosowujesz wartości zmiennych $servername
, $username
, $password
oraz $dbname
do swoich ustawień serwera MySQL. Ponadto zwróć uwagę na INSERT INTO tabela
, gdzie tabela wskazuje na nazwę tabeli utworzonej w bazie danych MySQL (zostaniesz poproszony o ustawienie nazwy tabeli podczas pierwszego uruchomienia bazy danych np. phpMyAdmin.
Skrypt ten łączy się z bazą danych, pobiera dane z formularza HTML za pomocą metody POST i dodaje je do bazy danych za pomocą zapytania SQL.
Przykład formularza HTML i jego konfiguracji
Formularz HTML do umieszczenia, np. w pliku index.hml lub innym, gdzie formularz ma działać.
Oto przykład kodu HTML dla formularza, który odpowiada powyższemu przykładowi skryptu PHP:
<!DOCTYPE html>
<html>
<head>
<title>Formularz PHP i MySQL</title>
</head>
<body>
<h2>Dodawanie danych do bazy MySQL</h2>
<form action="dodaj_do_bazy.php" method="post">
Imię: <input type="text" name="imie"><br>
Nazwisko: <input type="text" name="nazwisko"><br>
Email: <input type="text" name="mail"><br>
<input type="submit" value="Dodaj do bazy danych">
</form>
</body>
</html>
W kodzie HTML powyżej tworzymy formularz zawierający pola tekstowe (imię, nazwisko, email) oraz przycisk „Dodaj do bazy danych”. Po kliknięciu przycisku formularz zostanie przesłany do pliku dodaj_do_bazy.php
, który zawiera przykładowy skrypt PHP do dodawania danych do bazy MySQL. Upewnij się, że wartość atrybutu action
w znaczniku <form>
wskazuje na właściwy plik skryptu PHP.
Jeśli plik .php znajduje się w innej lokalizacji, niż plik html strony internetowej, podaj do niego ścieżkę, np. /skrypty/dodaj_do_bazy.php.
Jak utworzyć nową bazę danych MySQL?
W zależności od tego gdzie tworzysz bazę danych MySQL, postępuj zgodnie z instrukcją operatora. Poniżej znajdziesz uproszczoną instrukcję tworzenia bazy danych w DirectAdmin:
- Zaloguj się do panelu DirectAdmin.
- Przejdź do sekcji Zarządzanie kontami > Zarządzanie MySQL.
- Utwórz nową bazę danych nadając jej nazwę, nazwę użytkownika i hasło.
- Przejdź do sekcji Dodatkowe funkcje > phpMyAdmin i zaloguj się do panelu phpMyAdmin utworzonej bazy danych.
- Po lewej stronie ekranu kliknij w nazwę bazy danych, a następnie skorzystaj z kreatora nowej tabeli podając jej nazwę, np. tabela (jak w przykładzie wyżej) i liczbę kolumn.
- Uzupełnij informacje o poszczególnych kolumnach tabeli (zgodnie z przykładem naszego formularza i skryptu .php). Pamiętaj, aby przy kolumnie ID zaznaczyć A_I dla automatycznego uzupełnienia numeru rekordu.

Powinieneś wiedzieć:
- Pola imie, nazwisko i mail w powyższym przykładzie są polami tekstowymi, dlatego type został ustawiony na VARCHAR,
- kolumna Lenght/Values odpowiada za długość wpisywanej wartości,
- Collation odpowiada za właściwe kodowanie znaków,
- A_I jak wyjaśniliśmy wyżej, za automatyczne numerowanie wpisów.
Zapisz ustawienia. Sprawdź działanie formularza na stronie internetowej.