-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontact.php
More file actions
81 lines (65 loc) · 2.64 KB
/
Copy pathcontact.php
File metadata and controls
81 lines (65 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?php
// contact.php
header('Content-Type: application/json; charset=utf-8');
// Дозволити запити з інших доменів (CORS)
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: POST, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type");
// Якщо це preflight-запит від браузера
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
http_response_code(200);
exit;
}
// Перевіряємо, що це POST
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
echo json_encode(['ok' => false, 'error' => 'Invalid request method']);
exit;
}
// Отримуємо дані з форми
$name = trim(htmlspecialchars($_POST['name'] ?? ''));
$email = trim(htmlspecialchars($_POST['email'] ?? ''));
$phone = trim(htmlspecialchars($_POST['phone'] ?? ''));
$message = trim(htmlspecialchars($_POST['message'] ?? ''));
$service = trim(htmlspecialchars($_POST['service'] ?? ''));
$budget = trim(htmlspecialchars($_POST['budget'] ?? ''));
$source = trim(htmlspecialchars($_POST['source'] ?? 'unknown'));
$message = nl2br(htmlspecialchars($message, ENT_QUOTES, 'UTF-8'));
// Перевірка полів
if ($name === '' || $email === '' || $message === '') {
echo json_encode(['ok' => false, 'error' => 'Будь ласка, заповніть усі поля.']);
exit;
}
// Простий захист від ін’єкцій
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo json_encode(['ok' => false, 'error' => 'Недійсна адреса електронної пошти.']);
exit;
}
// === 1️⃣ Ти можеш тут зробити що завгодно ===
// Наприклад — надіслати лист:
$to = 'info@matviy.pp.ua'; // свій email
$subject = "Нове повідомлення з сайту " . $source;
$body = "Ім'я: $name\nEmail: $email\n";
if ($phone) {
$body .= "Телефон: $phone\n";
}
if ($service) {
$body .= "Тип: $service\n";
}
if ($budget) {
$body .= "Тип: $budget\n";
}
$body .= "Повідомлення:\n$message\n\nДжерело: $source";
$headers = "From: $email\r\nReply-To: $email\r\nContent-Type: text/plain; charset=utf-8\r\n";
$mailSent = @mail($to, $subject, $body, $headers);
// === 2️⃣ Формуємо відповідь ===
if ($mailSent) {
echo json_encode([
'ok' => true,
'message' => '✅ Ваше повідомлення успішно надіслано. Дякуємо!'
]);
} else {
echo json_encode([
'ok' => false,
'error' => 'Не вдалося надіслати лист. Спробуйте пізніше.'
]);
}