Php 8 Kurs Arama

Php 8 Kurs Arama

PHP 8 ile bir kurs arama özelliği oluşturmak, kullanıcıların istedikleri kursları kolayca bulmalarını sağlar. Aşağıda, basit bir kurs arama uygulaması oluşturmanın adımlarını bulabilirsiniz.

1. Veritabanı Tasarımı

Öncelikle, kurslarınızı depolamak için bir veritabanı tablosuna ihtiyacınız olacak. Aşağıda basit bir kurslar tablosu örneği verilmiştir:

CREATE TABLE courses ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, description TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

2. Veritabanı Bağlantısı

PDO kullanarak veritabanınıza bağlantı kurun. Aşağıda basit bir bağlantı örneği verilmiştir:

$pdo = new PDO('mysql:host=localhost;dbname=test', 'user', 'pass');

3. Arama Formu Oluşturma

HTML arama formunu oluşturun. Kullanıcılar arama terimlerini buraya girecekler:

<!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Kurs Arama</title> </head> <body> <h1>Kurs Ara</h1> <form action="search.php" method="GET"> <input type="text" name="query" placeholder="Kurs adı veya açıklaması" required> <button type="submit">Ara</button> </form> </body> </html>

4. Arama İşlevi

search.php dosyasında arama işlemini gerçekleştirin:

<?php if (isset($_GET['query'])) { $query = $_GET['query']; // Veritabanı bağlantısı $pdo = new PDO('mysql:host=localhost;dbname=test', 'user', 'pass'); // SQL sorgusu $stmt = $pdo->prepare('SELECT * FROM courses WHERE title LIKE :query OR description LIKE :query'); $stmt->execute(['query' => '%' . $query . '%']); $results = $stmt->fetchAll(PDO::FETCH_ASSOC); if ($results) { echo '<h1>Arama Sonuçları</h1>'; echo '<ul>'; foreach ($results as $course) { echo '<li>'; echo '<h3>' . htmlspecialchars($course['title']) . '</h3>'; echo '<p>' . htmlspecialchars($course['description']) . '</p>'; echo '<small>' . htmlspecialchars($course['created_at']) . '</small>'; echo '</li>'; } echo '</ul>'; } else { echo '<h1>Sonuç bulunamadı.</h1>'; } } else { echo '<h1>Arama terimi giriniz.</h1>'; } ?>

5. Güvenlik Önlemleri

  • SQL Enjeksiyonu Koruması: Kullanıcıdan gelen verileri her zaman sanitize edin. PDO ile hazırlanmş sorgular kullanarak SQL enjeksiyonuna karşı koruma sağlayın.
  • XSS Koruması: htmlspecialchars fonksiyonu ile kullanıcıdan gelen verileri güvenli bir şekilde ekrana yazdırın.

6. Ek Özellikler

Kurs arama işlevinizi geliştirmek için aşağıdaki özellikleri ekleyebilirsiniz:

  • Filtreleme: Kullanıcıların arama sonuçlarını belirli kriterlere göre filtrelemelerini sağlayabilirsiniz (örneğin, tarih, popülarite).
  • Paginasyon: Çok sayıda sonuç olduğunda, sonuçları sayfalara bölerek kullanıcı deneyimini iyileştirin.
  • Öneri Sistemi: Kullanıcının aradığı terime göre benzer kursları önerin.

Sonuç

Bu adımları takip ederek PHP 8 ile basit bir kurs arama uygulaması oluşturabilirsiniz. İhtiyaçlarınıza ve projelerinize göre bu yapıyı daha da geliştirebilir ve özelleştirebilirsiniz.



Yorum Ekle

Üzerine gel