ایجاد سیستم نظر در PHP
ایجاد یک سیستم نظر (Comment System) در PHP میتواند به شما کمک کند تا تعاملات کاربران را در وبسایت خود افزایش دهید. در اینجا یک راهنمای جامع برای ساخت یک سیستم نظر ساده را ارائه میدهم.
۱. طراحی پایگاه داده
برای شروع، نیاز به یک پایگاه داده داریم. میتوانیم از MySQL استفاده کنیم. جدول نظرات به صورت زیر طراحی میشود:
```sql
CREATE TABLE comments (
id INT AUTO_INCREMENT PRIMARY KEY,
post_id INT NOT NULL,
user_name VARCHAR(100) NOT NULL,
comment TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
۲. اتصال به پایگاه داده
برای اتصال به پایگاه داده، میتوانید از کد زیر استفاده کنید:
```php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
```
۳. ارسال نظر
برای ارسال نظر، یک فرم ساده ایجاد کنید:
```html
<form method="POST" action="submit_comment.php">
<input type="text" name="user_name" placeholder="نام شما" required>
<textarea name="comment" placeholder="نظر شما" required></textarea>
<input type="hidden" name="post_id" value="<?php echo $post_id; ?>">
<button type="submit">ارسال نظر</button>
</form>
```
در فایل `submit_comment.php`، میتوانید کد زیر را برای ذخیرهسازی نظر بنویسید:
```php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$user_name = $_POST['user_name'];
$comment = $_POST['comment'];
$post_id = $_POST['post_id'];
$stmt = $conn->prepare("INSERT INTO comments (post_id, user_name, comment) VALUES (?, ?, ?)");
$stmt->bind_param("iss", $post_id, $user_name, $comment);
$stmt->execute();
$stmt->close();
}
```
۴. نمایش نظرات
برای نمایش نظرات، میتوانید از کد زیر استفاده کنید:
```php
$post_id = 1; // شناسه پست مورد نظر
$sql = "SELECT * FROM comments WHERE post_id = $post_id ORDER BY created_at DESC";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<div>";
echo "<strong>" . htmlspecialchars($row['user_name']) . "</strong>: ";
echo "<p>" . htmlspecialchars($row['comment']) . "</p>";
echo "<small>" . $row['created_at'] . "</small>";
echo "</div>";
}
} else {
echo "هیچ نظری وجود ندارد.";
}
```
۵. نکات امنیتی
- SQL Injection: همیشه از prepared statements استفاده کنید.
- XSS: ورودیهای کاربر را با `htmlspecialchars()` فیلتر کنید.
- Validation: ورودیهای کاربر را اعتبارسنجی کنید.
نتیجهگیری
با استفاده از مراحل بالا، شما میتوانید به راحتی یک سیستم نظر ساده در PHP ایجاد کنید. این سیستم میتواند با افزودن ویژگیهای بیشتر مانند ویرایش و حذف نظرات گسترش یابد. با توجه به نیازهای خاص خود، میتوانید امکانات بیشتری نیز اضافه کنید.