fork download
  1. <?php
  2. function tinh_sinh_nhat($ngay, $thang, $nam) {
  3. // Ngày hiện tại
  4. $today = new DateTime();
  5.  
  6. // Sinh nhật năm nay
  7. $birthday_this_year = DateTime::createFromFormat('d-m-Y', "$ngay-$thang-" . $today->format('Y'));
  8.  
  9. // Nếu người dùng nhập sai format
  10. if (!$birthday_this_year) return "Ngày không hợp lệ.";
  11.  
  12. // Nếu sinh nhật đã qua → tính cho năm sau
  13. if ($birthday_this_year < $today) {
  14. $birthday_next = DateTime::createFromFormat('d-m-Y', "$ngay-$thang-" . ($today->format('Y') + 1));
  15. $interval = $today->diff($birthday_next);
  16. return "🎉 Sinh nhật đã qua " . $today->diff($birthday_this_year)->days . " ngày.<br>"
  17. . "⏳ Còn " . $interval->days . " ngày nữa đến sinh nhật tiếp theo.";
  18. }
  19. // Nếu sinh nhật chưa đến
  20. else {
  21. $interval = $today->diff($birthday_this_year);
  22. return "⏳ Còn " . $interval->days . " ngày nữa đến sinh nhật.";
  23. }
  24. }
  25.  
  26. $result = "";
  27. if ($_SERVER["REQUEST_METHOD"] == "POST") {
  28. $ngay = $_POST["ngay"];
  29. $thang = $_POST["thang"];
  30. $nam = $_POST["nam"];
  31. $result = tinh_sinh_nhat($ngay, $thang, $nam);
  32. }
  33. ?>
  34.  
  35. <!DOCTYPE html>
  36. <html>
  37. <head>
  38. <title>Tính ngày sinh nhật</title>
  39. <meta charset="UTF-8">
  40. <style>
  41. body { font-family: Arial; padding: 20px; }
  42. .box { width: 300px; padding: 20px; border: 1px solid #ccc; border-radius: 10px; }
  43. input { width: 80px; padding: 5px; margin-bottom: 10px; }
  44. button { padding: 8px 12px; cursor: pointer; }
  45. .result { margin-top: 20px; font-size: 18px; font-weight: bold; }
  46. </style>
  47. </head>
  48. <body>
  49.  
  50. <div class="box">
  51. <h3>Tính toán ngày sinh nhật</h3>
  52.  
  53. <form method="POST">
  54. Ngày: <input type="number" name="ngay" min="1" max="31" required><br>
  55. Tháng: <input type="number" name="thang" min="1" max="12" required><br>
  56. Năm: <input type="number" name="nam" min="1900" max="2100" required><br>
  57.  
  58. <button type="submit">Tính</button>
  59. </form>
  60.  
  61. <?php if ($result != ""): ?>
  62. <div class="result">
  63. <?= $result ?>
  64. </div>
  65. <?php endif; ?>
  66. </div>
  67.  
  68. </body>
  69. </html>
Success #stdin #stdout #stderr 0.02s 25636KB
stdin
Standard input is empty
stdout
<!DOCTYPE html>
<html>
<head>
    <title>Tính ngày sinh nhật</title>
    <meta charset="UTF-8">
    <style>
        body { font-family: Arial; padding: 20px; }
        .box { width: 300px; padding: 20px; border: 1px solid #ccc; border-radius: 10px; }
        input { width: 80px; padding: 5px; margin-bottom: 10px; }
        button { padding: 8px 12px; cursor: pointer; }
        .result { margin-top: 20px; font-size: 18px; font-weight: bold; }
    </style>
</head>
<body>

<div class="box">
    <h3>Tính toán ngày sinh nhật</h3>

    <form method="POST">
        Ngày: <input type="number" name="ngay" min="1" max="31" required><br>
        Tháng: <input type="number" name="thang" min="1" max="12" required><br>
        Năm: <input type="number" name="nam" min="1900" max="2100" required><br>

        <button type="submit">Tính</button>
    </form>

    </div>

</body>
</html>
stderr
PHP Notice:  Undefined index: REQUEST_METHOD in /home/Kcblap/prog.php on line 27