Przejdź do głównej zawartości

66. Rejestr kontaktów biznesowych

Rejestr kontaktów biznesowych

Mini-CRM: baza kontaktów biznesowych z danymi firmy, numerem telefonu, adresem e-mail i notatkami. Wyszukiwanie po nazwisku lub firmie, edycja i usuwanie.

  • Tworzenia mini-CRM z wyszukiwaniem
  • Walidacji e-maila i numeru telefonu
  • Sortowania alfabetycznego kontaktów
  • Obsługi pola textarea na notatki (długi tekst)

CRM (Customer Relationship Management) to kluczowy system w każdej firmie. Znajomość budowania baz kontaktów z wyszukiwaniem to podstawa dla każdego programisty aplikacji biznesowych.

  1. Formularz dodawania kontaktu (imię, firma, telefon, email, notatki)
  2. Lista kontaktów posortowana alfabetycznie
  3. Wyszukiwanie po nazwisku lub nazwie firmy
  4. Szczegóły kontaktu
  5. Edycja i usuwanie kontaktu
{
"contacts": [
{
"id": 1,
"name": "Jan Kowalski",
"company": "Tech Corp Sp. z o.o.",
"phone": "+48 123 456 789",
"email": "jan.kowalski@techcorp.pl",
"notes": "Kontakt w sprawie umowy na oprogramowanie",
"created_at": "2026-02-10"
}
]
}
  • Formularz dodawania kontaktu
  • Lista kontaktów posortowana po nazwisku
  • Walidacja: imię i email wymagane
  • Zapis do JSON
Ocena: 3.0
<?php
// Walidacja danych kontaktu
$name = trim($_POST['name'] ?? '');
$email = trim($_POST['email'] ?? '');
$phone = trim($_POST['phone'] ?? '');
if (strlen($name) < 2) {
$errors[] = "Imię i nazwisko musi mieć co najmniej 2 znaki";
}
if (!empty($email) && !filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errors[] = "Podaj prawidłowy adres e-mail";
}
if (!empty($phone) && !preg_match('/^(\+48\s?)?\d{3}[\s\-]?\d{3}[\s\-]?\d{3}$/', $phone)) {
$errors[] = "Podaj prawidłowy numer telefonu";
}
// Wyszukiwanie
function searchContacts(array $contacts, string $query): array {
if (empty(trim($query))) return $contacts;
$q = mb_strtolower($query);
return array_values(array_filter($contacts, fn($c) =>
str_contains(mb_strtolower($c['name']), $q) ||
str_contains(mb_strtolower($c['company'] ?? ''), $q)
));
}
// Sortowanie alfabetyczne
usort($contacts, fn($a, $b) => strcasecmp($a['name'], $b['name']));

Twój osobisty CRM!

Zacznij od formularza i listy. Wyszukiwanie i edycja to kolejny krok. Eksport CSV to wisienka na torcie.