سیستم رایگیری در PHP
سیستمهای رایگیری یکی از ابزارهای کلیدی در جمعآوری نظرات و نظرسنجیها هستند. با استفاده از PHP، میتوان یک سیستم رایگیری ساده یا پیچیده ایجاد کرد. در اینجا به بررسی اجزای اصلی و نحوه پیادهسازی یک سیستم رایگیری در PHP خواهیم پرداخت.
۱. طراحی پایگاه داده
ابتدا برای ذخیرهسازی آراء و اطلاعات مربوط به نظرسنجی، نیاز به یک پایگاه داده دارید. طراحی پایگاه داده میتواند شامل جداول زیر باشد:
- جدول نظرسنجیها: شامل شناسه، عنوان، تاریخ شروع و پایان، و وضعیت.
- جدول گزینهها: شامل شناسه، شناسه نظرسنجی، متن گزینه و تعداد آراء.
- جدول آراء: شامل شناسه، شناسه گزینه، و تاریخ رایگیری.
۲. ایجاد فرم رایگیری
پس از طراحی پایگاه داده، باید یک فرم HTML برای رایگیری تولید کنید. این فرم باید شامل عنوان نظرسنجی و گزینههای مربوطه باشد. برای مثال:
```html
<form action="vote.php" method="post">
<h2>عنوان نظرسنجی</h2>
<input type="radio" name="option" value="1"> گزینه 1<br>
<input type="radio" name="option" value="2"> گزینه 2<br>
<input type="submit" value="رایگیری">
</form>
```
۳. پردازش آراء
در فایل `vote.php`، آراء کاربران را پردازش میکنید. با استفاده از PHP، میتوانید رأی را در پایگاه داده ذخیره کنید:
```php
<?php
$option_id = $_POST['option'];
// اتصال به پایگاه داده
$conn = new mysqli("localhost", "username", "password", "database");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// ذخیره رأی
$sql = "UPDATE options SET votes = votes + 1 WHERE id = $option_id";
$conn->query($sql);
$conn->close();
?>
```
۴. نمایش نتایج
برای نمایش نتایج نظرسنجی، میتوانید یک صفحه جداگانه ایجاد کنید که آراء را از پایگاه داده خوانده و به صورت گرافیکی یا عددی نمایش دهد.
```php
<?php
$conn = new mysqli("localhost", "username", "password", "database");
$sql = "SELECT * FROM options WHERE survey_id = 1";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
echo $row['option_text'] . " - " . $row['votes'] . " رای<br>";
}
$conn->close();
?>
```
۵. نکات امنیتی
برای جلوگیری از حملات SQL Injection، حتماً از Prepared Statements استفاده کنید. همچنین، اعتبارسنجی ورودیها قبل از ذخیره آنها در پایگاه داده بسیار مهم است.
نتیجهگیری
پیادهسازی یک سیستم رایگیری ساده با PHP مستلزم طراحی پایگاه داده، ایجاد فرمها و پردازش آراء است. با رعایت اصول امنیتی و بهینهسازیهای لازم، میتوانید یک سیستم رایگیری کارآمد و مطمئن بسازید.