File: /home/h278792/public_html/disc/index.php
<?php
// فعال کردن نمایش خطاها برای عیبیابی (بعد از تست میتونید حذف کنید)
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
require 'config.php';
$success_message = '';
$discount_code = '';
$expires_at_jalali = '';
$whatsapp_link = ''; // متغیر برای ذخیره لینک واتساپ
// بررسی پیام موفقیت از سشن
if (isset($_SESSION['success_message'])) {
$success_message = $_SESSION['success_message'];
$discount_code = $_SESSION['discount_code'];
$expires_at_jalali = $_SESSION['expires_at_jalali'];
$whatsapp_link = $_SESSION['whatsapp_link'];
// پاک کردن دادههای سشن بعد از نمایش
unset($_SESSION['success_message']);
unset($_SESSION['discount_code']);
unset($_SESSION['expires_at_jalali']);
unset($_SESSION['whatsapp_link']);
}
function generateCode($length = 8) {
$chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789';
$code = '';
for ($i = 0; $i < $length; $i++) {
$code .= $chars[rand(0, strlen($chars) - 1)];
}
return $code;
}
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'register') {
$full_name = trim($_POST['full_name']);
$phone = trim($_POST['phone']);
$discount_code = generateCode();
$expires_at = (new DateTime())->modify('+1 month')->format('Y-m-d H:i:s');
try {
$stmt = $pdo->prepare("INSERT INTO customers (full_name, phone, discount_code, expires_at) VALUES (?, ?, ?, ?)");
$stmt->execute([$full_name, $phone, $discount_code, $expires_at]);
$customer_id = $pdo->lastInsertId();
if (!empty($_POST['referred_full_name']) && !empty($_POST['referred_phone'])) {
$referred_full_name = trim($_POST['referred_full_name']);
$referred_phone = trim($_POST['referred_phone']);
$stmt = $pdo->prepare("INSERT INTO referrals (referrer_id, referred_full_name, referred_phone) VALUES (?, ?, ?)");
$stmt->execute([$customer_id, $referred_full_name, $referred_phone]);
// تولید لینک واتساپ
$expires_at_jalali = to_jalali($expires_at);
$message = urlencode("سلام $referred_full_name\nشما از طرف $full_name 10% تخفیف برای دورههای آموزشی رباتیک و الکترونیک دریافت کردید که تا تاریخ $expires_at_jalali معتبر است.\nلطفا به آموزشگاه افق روشن مراجعه کرده و از کد تخفیف استفاده نمایید.\nکد تخفیف شما: $discount_code\nشماره تماس: 02632227525");$message = urlencode("سلام $referred_full_name\nشما از طرف $full_name 10% تخفیف برای دورههای آموزشی کامپیوتر و برنامهنویسی دریافت کردید که تا تاریخ $expires_at_jalali معتبر است.\nلطفا به آموزشگاه افق روشن مراجعه کرده و از کد تخفیف استفاده نمایید.\nکد تخفیف شما: $discount_code\nشماره تماس: 04533251330");
$formatted_phone = preg_replace('/^0/', '+98', $referred_phone); // تبدیل شماره به فرمت بینالمللی
$whatsapp_link = "https://wa.me/$formatted_phone?text=$message";
}
// ذخیره پیام موفقیت در سشن
$_SESSION['success_message'] = '10% تخفیف به شما تعلق گرفت!';
$_SESSION['discount_code'] = $discount_code;
$_SESSION['expires_at_jalali'] = $expires_at_jalali;
$_SESSION['whatsapp_link'] = $whatsapp_link;
// ریدایرکت به همون صفحه برای جلوگیری از ارسال دوباره
header('Location: ' . $_SERVER['PHP_SELF']);
exit;
} catch (PDOException $e) {
error_log("خطا در عملیات دیتابیس: " . $e->getMessage());
$error = "خطا در ثبت اطلاعات. لطفاً دوباره تلاش کنید.";
}
}
?>
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> سیستم تخفیف آموزشگاه افق روشن </title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"/>
<script>
// پاک کردن فرم بعد از ارسال
if (window.history.replaceState) {
window.history.replaceState(null, null, window.location.href);
}
window.onload = function() {
if (<?php echo $success_message ? 'true' : 'false'; ?>) {
document.getElementById('discountForm').reset();
}
};
</script>
</head>
<body class="bg-gradient-to-br from-purple-100 to-indigo-200 min-h-screen flex items-center justify-center">
<div class="container mx-auto px-4 py-8">
<div class="max-w-2xl mx-auto bg-white rounded-2xl shadow-2xl overflow-hidden animate__animated animate__fadeIn">
<div class="bg-gradient-to-r from-purple-600 to-indigo-600 text-white p-6 text-center">
<h1 class="text-2xl font-bold mb-1">آموزشگاه افق روشن</h1>
<h2 class="text-xl mb-4">با معرفی دوستانتان از ما تخفیف بگیرید</h2>
<img src="assets/images/discount.jpg" alt="تخفیف ویژه" class="mx-auto w-full h-auto max-h-48 object-contain rounded-lg border-2 border-white shadow-md">
</div>
<div class="p-8">
<?php if ($success_message): ?>
<div class="bg-green-100 border-r-4 border-green-500 text-green-700 p-4 mb-6 rounded-lg animate__animated animate__pulse">
<p><?= $success_message ?></p>
<p>کد تخفیف: <strong><?= htmlspecialchars($discount_code) ?></strong></p>
<p>تاریخ انقضا: <strong><?= $expires_at_jalali ?></strong></p>
<?php if ($whatsapp_link): ?>
<p>برای ارسال کد تخفیف به دوستتان، روی لینک زیر کلیک کنید:</p>
<a href="<?= $whatsapp_link ?>" target="_blank" class="inline-block bg-green-500 text-white py-2 px-4 rounded-lg hover:bg-green-600 transition-all duration-300">
<i class="bi bi-whatsapp ml-2"></i> ارسال پیام در واتساپ
</a>
<?php endif; ?>
</div>
<?php endif; ?>
<?php if (isset($error)): ?>
<div class="bg-red-100 border-r-4 border-red-500 text-red-700 p-4 mb-6 rounded-lg animate__animated animate__shakeX">
<?= htmlspecialchars($error) ?>
</div>
<?php endif; ?>
<form id="discountForm" method="POST" class="space-y-6">
<input type="hidden" name="action" value="register">
<div class="space-y-4">
<h3 class="text-lg font-semibold text-gray-700 mb-4">اطلاعات شما</h3>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">نام و نام خانوادگی</label>
<input type="text" name="full_name" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent transition-all duration-300" required>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">شماره موبایل</label>
<input type="tel" name="phone" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent transition-all duration-300" pattern="09[0-9]{9}" required>
</div>
</div>
<div class="space-y-4 mt-6">
<h3 class="text-lg font-semibold text-gray-700">معرفی دوست (اختیاری)</h3>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">نام و نام خانوادگی دوست</label>
<input type="text" name="referred_full_name" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent transition-all duration-300">
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">شماره موبایل دوست</label>
<input type="tel" name="referred_phone" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent transition-all duration-300" pattern="09[0-9]{9}">
</div>
</div>
<button type="submit" class="w-full bg-gradient-to-r from-purple-600 to-indigo-600 text-white py-3 rounded-lg font-semibold hover:from-purple-700 hover:to-indigo-700 transition-all duration-300 shadow-lg animate__animated animate__pulse animate__infinite">
<i class="bi bi-check-circle ml-2"></i> ثبت و دریافت کد تخفیف
</button>
</form>
</div>
</div>
</div>
</body>
</html>