<?php
/**
* Backend Processing Script for Men's Sweater Pack Landing Page
* Landing Code: LANDING_PULL_MEN_2026
* Database: MySQL / PDO
*/
header('Content-Type: application/json; charset=utf-8');
// Database Configuration
$host = 'localhost';
$db_name = 'ecom_store';
$username = 'root';
$password = '';
try {
$pdo = new PDO("mysql:host=$host;dbname=$db_name;charset=utf8mb4", $username, $password, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);
} catch (PDOException $e) {
echo json_encode([
'status' => 'error',
'message' => 'فشل الاتصال بقاعدة البيانات: ' . $e->getMessage()
]);
exit;
}
// Ensure POST Request
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Retrieve input values
$landing_code = trim($_POST['landing_code'] ?? 'LANDING_PULL_MEN_2026');
$full_name = trim($_POST['full_name'] ?? '');
$phone = trim($_POST['phone'] ?? '');
$wilaya_code = trim($_POST['wilaya_code'] ?? '');
$address = trim($_POST['address'] ?? '');
$color1 = trim($_POST['color1'] ?? '');
$size1 = trim($_POST['size1'] ?? '');
$color2 = trim($_POST['color2'] ?? '');
$size2 = trim($_POST['size2'] ?? '');
$delivery_fee = floatval($_POST['delivery_fee'] ?? 600);
$pack_price = 4900.00;
$total_amount = $pack_price + $delivery_fee;
// Validation
if (empty($full_name) || empty($phone) || empty($wilaya_code) || empty($address)) {
echo json_encode([
'status' => 'error',
'message' => 'يرجى ملء جميع الحقول المطلوبة'
]);
exit;
}
// Insert Order into Database
$sql = "INSERT INTO orders (
landing_code,
customer_name,
phone,
wilaya_code,
address,
sweater1_color,
sweater1_size,
sweater2_color,
sweater2_size,
pack_price,
delivery_fee,
total_amount,
payment_method,
created_at
) VALUES (
:landing_code,
:customer_name,
:phone,
:wilaya_code,
:address,
:s1_color,
:s1_size,
:s2_color,
:s2_size,
:pack_price,
:delivery_fee,
:total_amount,
'COD',
NOW()
)";
$stmt = $pdo->prepare($sql);
try {
$stmt->execute([
':landing_code' => $landing_code,
':customer_name' => $full_name,
':phone' => $phone,
':wilaya_code' => $wilaya_code,
':address' => $address,
':s1_color' => $color1,
':s1_size' => $size1,
':s2_color' => $color2,
':s2_size' => $size2,
':pack_price' => $pack_price,
':delivery_fee' => $delivery_fee,
':total_amount' => $total_amount
]);
$order_id = $pdo->lastInsertId();
echo json_encode([
'status' => 'success',
'message' => 'تم تسجيل طلبك بنجاح',
'order_id' => 'DZ-' . $order_id,
'details' => [
'full_name' => $full_name,
'phone' => $phone,
'total_amount' => $total_amount,
'sweater1' => "$color1 - $size1",
'sweater2' => "$color2 - $size2"
]
]);
} catch (PDOException $e) {
echo json_encode([
'status' => 'error',
'message' => 'فشل في حفظ الطلب: ' . $e->getMessage()
]);
}
} else {
echo json_encode(['status' => 'error', 'message' => 'طريقة الطلب غير مدعومة']);
}
?>
-- MySQL Database Schema for Men's Sweater Landing Orders
-- Database: ecom_store
CREATE DATABASE IF NOT EXISTS `ecom_store`
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
USE `ecom_store`;
-- Orders Table Structure
CREATE TABLE IF NOT EXISTS `orders` (
`id` INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`landing_code` VARCHAR(50) NOT NULL DEFAULT 'LANDING_PULL_MEN_2026' COMMENT 'رمز أو كود صفحة الهبوط الحالية',
`customer_name` VARCHAR(150) NOT NULL,
`phone` VARCHAR(30) NOT NULL,
`wilaya_code` VARCHAR(10) NOT NULL,
`address` TEXT NOT NULL,
`sweater1_color` VARCHAR(50) NOT NULL,
`sweater1_size` VARCHAR(10) NOT NULL,
`sweater2_color` VARCHAR(50) NOT NULL,
`sweater2_size` VARCHAR(10) NOT NULL,
`pack_price` DECIMAL(10, 2) NOT NULL DEFAULT 4900.00,
`delivery_fee` DECIMAL(10, 2) NOT NULL DEFAULT 600.00,
`total_amount` DECIMAL(10, 2) NOT NULL,
`payment_method` VARCHAR(20) NOT NULL DEFAULT 'COD',
`status` ENUM('pending', 'confirmed', 'shipped', 'delivered', 'cancelled') DEFAULT 'pending',
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
INDEX `idx_landing` (`landing_code`),
INDEX `idx_phone` (`phone`),
INDEX `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Sample query to retrieve orders specifically from this landing page code
-- SELECT * FROM orders WHERE landing_code = 'LANDING_PULL_MEN_2026' ORDER BY created_at DESC;