เวอร์ชันที่ไม่ใช้ database
<?php
// เก็บ IP address ของผู้ใช้
$ip_address = $_SERVER['REMOTE_ADDR'];
// เก็บจำนวนการเข้าใช้งานใน session
if (!isset($_SESSION['visit_count'])) {
$_SESSION['visit_count'] = 0;
}
// เพิ่มจำนวนการเข้าใช้งาน
$_SESSION['visit_count']++;
// กำหนดจำนวนการเข้าใช้งานสูงสุด
$max_visits = 2;
// แสดง IP address
echo "IP address ของคุณคือ: $ip_address";
// ตรวจสอบจำนวนการเข้าใช้งาน
if ($_SESSION['visit_count'] >= $max_visits) {
// แสดงข้อความแจ้งเตือน
echo "<p style='color: red; font-size: large; font-weight: bold;'>คุณเข้าใช้งานเกินจำนวนที่กำหนด กรุณารอ 5 วินาที</p>";
// เล่นเสียงแจ้งเตือน
echo "<audio controls><source src='alarm.mp3' type='audio/mpeg'></audio>";
// นับเวลาถอยหลัง
echo "<script>
var timeLeft = 5;
var interval = setInterval(function() {
document.getElementById('countdown').innerHTML = timeLeft;
timeLeft--;
if (timeLeft === 0) {
clearInterval(interval);
window.location.reload();
}
}, 1000);
</script>";
echo "<p id='countdown'></p>";
} else {
// ดำเนินการโปรเซสต่อไป
// ...
}
?>
อธิบายโค้ด:
เก็บ IP address ของผู้ใช้ ($ip_address)
เก็บจำนวนการเข้าใช้งานใน session ($_SESSION['visit_count'])
เพิ่มจำนวนการเข้าใช้งาน
กำหนดจำนวนการเข้าใช้งานสูงสุด ($max_visits)
แสดง IP address
ตรวจสอบจำนวนการเข้าใช้งาน:
ถ้ามากกว่า $max_visits:
แสดงข้อความแจ้งเตือนสีแดง
เล่นเสียงแจ้งเตือน
นับเวลาถอยหลัง 5 วินาที
รีเฟรชหน้าเว็บเมื่อครบเวลา
ถ้าไม่เกิน:
ดำเนินการโปรเซสต่อไป
หมายเหตุ:
ปรับแต่งข้อความแจ้งเตือน เสียง และระยะเวลาการนับถอยหลังตามต้องการ
ทดสอบโค้ดก่อนนำไปใช้งานจริง
ตัวอย่างการปรับแต่ง:
เพิ่มข้อความเพิ่มเติมในข้อความแจ้งเตือน เช่น อธิบายสาเหตุที่จำกัดจำนวนการเข้าใช้งาน
เปลี่ยนเสียงแจ้งเตือนเป็นเสียงอื่น
เพิ่มปุ่ม "ลองใหม่" ให้ผู้ใช้สามารถดำเนินการต่อได้ทันทีโดยไม่ต้องรอ
ข้อดีของเวอร์ชันนี้:
ไม่ต้องใช้ database
ติดตั้งและใช้งานง่าย
เหมาะสำหรับเว็บไซต์ขนาดเล็กหรือเว็บไซต์ที่ไม่ต้องการเก็บข้อมูลการเข้าใช้งาน
ข้อเสีย:
ไม่สามารถติดตามจำนวนการเข้าใช้งานของผู้ใช้แต่ละคนได้
ไม่สามารถวิเคราะห์ข้อมูลการเข้าใช้งานได้
สรุป:
โค้ด PHP นี้ช่วยให้คุณสามารถแสดง IP address ตรวจสอบจำนวนการเข้าใช้งาน แจ้งเตือน และนับเวลาถอยหลัง โดยไม่ต้องใช้ database เหมาะสำหรับเว็บไซต์ขนาดเล็กหรือเว็บไซต์ที่ไม่ต้องการเก็บข้อมูลการเข้าใช้งาน