Yeni nesil Webmaster Forumuna hoş geldin

Sen de aramıza katıl!

Üye ol

En Faydalı PHP Kodları ve Kullanımları

X

Administrator
Katılım
12 Ağu 2024
Mesajlar
3
Tepkime puanı
0
PHP, hızlı geliştirme süresi ve yaygın kullanılabilirlik sayesinde web geliştirme dünyasında çok popüler bir dildir. Bu makalede, PHP geliştiricileri için faydalı olabilecek temel ve ileri düzey kod snippet'larını detaylandıracağız.

1. PHP ile Form Verişi Alma

Web geliştirme sürecinde, formlardan veri alma işlemi sıkça kullanılır.
Kod:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = htmlspecialchars($_POST['name']); // XSS koruması
    $email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);

    echo "Ad: $name<br>E-posta: $email";
}
?>
Bu kod parçası, form verilerini almak, temizlemek ve XSS súldırılarına karşı koruma sağlamak için kullanılabilir.

Detaylar​

  • htmlspecialchars: HTML karakterlerini kodlar.
  • filter_var: Veriyi filtreler ve sanitize eder.

2. PHP ile Dosya Yükleme

Dosya yükleme işlemi, kullanıcılardan medya veya belge almanız gereken durumlarda kullanılır.
Kod:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['file'])) {
    $target_dir = "uploads/";
    $target_file = $target_dir . basename($_FILES["file"]["name"]);

    if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
        echo "Dosya yükleme başarılı: $target_file";
    } else {
        echo "Dosya yükleme hatası!";
    }
}
?>

Detaylar​

  • move_uploaded_file: Yüklenen dosyayı güvenli bir konuma taşır.
  • $_FILES: Yüklenen dosya hakkında bilgi sağlar.

3. Veritabanı Bağlantısı ve Veri Çekme (PDO ile)

Veritabanı işlemleri PHP projelerinin ayrılmaz bir parçasıdır. PDO, güvenli ve esnek bir veritabanı bağlantısı sağlar.
Kod:
<?php
try {
    $pdo = new PDO("mysql:host=localhost;dbname=testdb", "username", "password");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $stmt = $pdo->query("SELECT * FROM users");
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        echo $row['name'] . " - " . $row['email'] . "<br>";
    }
} catch (PDOException $e) {
    echo "Bağlantı hatası: " . $e->getMessage();
}
?>

Detaylar​

  • PDO: Farklı veritabanlarıyla çalışmak için soyutlama sağlar.
  • setAttribute: Hata modunu ayarlamak gibi ek ayarlar için kullanılır.

4. E-posta Gönderme (PHPMailer)

E-posta gönderim işlemi genellikle PHP'nin mail() fonksiyonu ile yapılsa da PHPMailer daha modern ve güvenli bir seçenektir.
Kod:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);
try {
    $mail->isSMTP();
    $mail->Host = 'smtp.example.com';
    $mail->SMTPAuth = true;
    $mail->Username = '[email protected]';
    $mail->Password = 'password';
    $mail->SMTPSecure = 'tls';
    $mail->Port = 587;

    $mail->setFrom('[email protected]', 'Mailer');
    $mail->addAddress('[email protected]', 'Receiver');

    $mail->isHTML(true);
    $mail->Subject = 'Test Email';
    $mail->Body    = 'Bu bir test e-postasıdır.';

    $mail->send();
    echo "E-posta gönderildi!";
} catch (Exception $e) {
    echo "E-posta gönderim hatası: " . $mail->ErrorInfo;
}
?>

Detaylar​

  • PHPMailer: SMTP kullanarak e-posta göndermek için en yaygın kütüphanelerden biridir.
  • composer: PHPMailer kurulumunu yapmak için Composer kullanabilirsiniz.

5. JSON Veri İşleme

API'larla çalışırken JSON verileri çok kullanılır.
Kod:
<?php
$data = ["name" => "Ali", "email" => "[email protected]"];
$jsonData = json_encode($data);
echo $jsonData;

$decodedData = json_decode($jsonData, true);
print_r($decodedData);
?>

Detaylar​

  • json_encode: PHP dizisini JSON formatına çevirir.
  • json_decode: JSON formatındaki veriyi PHP dizisine çevirir.

6. Session ve Cookie Kullanımı

Oturum yönetimi kullanıcı takibi ve güvenliğik için kritik bir unsurdur.
Kod:
<?php
// Session başlatma
session_start();
$_SESSION['username'] = 'Ali';
echo "Kullanıcı: " . $_SESSION['username'];

// Cookie ayarlama
setcookie("user", "Ali", time() + (86400 * 30), "/"); // 30 gün
if (isset($_COOKIE['user'])) {
    echo "Cookie: " . $_COOKIE['user'];
}
?>

Detaylar​

  • session_start: Oturum başlatmak için zorunludur.
  • setcookie: Tarayıcı tarafında cookie ayarlar.

7. Güvenlik: SQL Injection Koruması

SQL sorgularının güvenli hale getirilmesi kritik bir zorunluluktur.
Kod:
<?php
$pdo = new PDO("mysql:host=localhost;dbname=testdb", "username", "password");
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = :email");
$stmt->execute(['email' => $userEmail]);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
?>

Detaylar​

  • prepare ve execute: SQL sorgularını parametrik hale getirerek enjeksiyon riskini azaltır.

Kaynaklar​

  1. PHP Resmi Sitesi
  2. PHPMailer Github Sayfası
  3. Composer Resmi Sitesi
Bu kodlar ve bilgiler, PHP geliştiricilerinin projelerinde daha etkili çözümler bulmasına yardımcı olacaktır. Her bir kod parçasıını projenize entegre etmeden önce test etmeyi unutmayın.
 
Anasayfa Üye ol Giriş yap