File manager - Edit - /home/webapp69.cm.in.th/u69319090015/Portfolio/contact.php
Back
<?php // Portfolio - Contact Form API Handler require_once 'db.php'; header('Content-Type: application/json'); if ($_SERVER['REQUEST_METHOD'] !== 'POST') { echo json_encode(['status' => 'error', 'message' => 'Invalid request method.']); exit; } // Read inputs (from JSON or form-data) $input = json_decode(file_get_contents('php://input'), true); $name = trim($input['name'] ?? $_POST['name'] ?? ''); $email = trim($input['email'] ?? $_POST['email'] ?? ''); $message = trim($input['message'] ?? $_POST['message'] ?? ''); if (empty($name) || empty($email) || empty($message)) { echo json_encode(['status' => 'error', 'message' => 'กรุณากรอกข้อมูลให้ครบถ้วน']); exit; } if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo json_encode(['status' => 'error', 'message' => 'รูปแบบอีเมลไม่ถูกต้อง']); exit; } // 1. Try to save in database if ($pdo !== null) { try { $stmt = $pdo->prepare('INSERT INTO portfolio_contacts (name, email, message) VALUES (?, ?, ?)'); $stmt->execute([$name, $email, $message]); echo json_encode(['status' => 'success', 'message' => 'ส่งข้อความสำเร็จ! ข้อมูลถูกบันทึกในระบบเรียบร้อยแล้ว']); exit; } catch (\PDOException $e) { // Fall through to JSON log if DB save fails } } // 2. Fallback to Local JSON log $logFile = 'messages.json'; $messages = []; if (file_exists($logFile)) { $currentData = file_get_contents($logFile); $messages = json_decode($currentData, true) ?: []; } $messages[] = [ 'name' => $name, 'email' => $email, 'message' => $message, 'timestamp' => date('Y-m-d H:i:s') ]; if (file_put_contents($logFile, json_encode($messages, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE))) { echo json_encode(['status' => 'success', 'message' => 'ส่งข้อความสำเร็จ! (บันทึกข้อมูลแบบสำรองในเซิร์ฟเวอร์เรียบร้อยแล้ว)']); } else { echo json_encode(['status' => 'error', 'message' => 'เกิดข้อผิดพลาดในการบันทึกข้อความลงเซิร์ฟเวอร์']); } ?>
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.25 |
proxy
|
phpinfo
|
Settings