Neler yeni

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

  • Merhaba Değerli Ziyaretçimiz, ForumaGel ailesi seni bekliyor! 🌟 Aramıza katılarak güçlü ve samimi topluluğumuzun bir parçası olabilirsin. Burada her üye değerli, her katkı kıymetli. Şimdi üye ol, bizimle birlikte gelişmenin ve keyifli sohbetlerin tadını çıkar! Sevgi ve Saygılarla, ForumaGel Yönetimi ❤️
Yan Yana Banner
Yan Yana Banner
Katılım
7 Nis 2025
Konular
367
Mesajlar
780
Çözümler
1
Tepkime puanı
121
Puan
93
Konum
İstanbul
Web sitesi
forumagel.com
Hazır Kod Bankası - Konu 5: PHP Temelleri



Hazır Kod Bankası Serimizin Beşinci Durağı: PHP!

Merhaba arkadaşlar! HTML, CSS, Excel VBA ve Visual Basic .NET konularının ardından, web dünyasının sunucu tarafında çalışan popüler bir dile, PHP (Hypertext Preprocessor)'ye göz atıyoruz.

PHP, özellikle web geliştirme için tasarlanmış, geniş ölçüde kullanılan açık kaynaklı bir sunucu taraflı betik (scripting) dilidir. Dinamik web sayfaları oluşturmak, formlardan gelen verileri işlemek, veritabanlarıyla etkileşim kurmak, oturumları yönetmek ve web uygulamaları için arka plan (backend) mantığını yazmak için kullanılır. HTML ve CSS tarayıcınızda (client-side) çalışırken, PHP kodları web sunucusunda çalıştırılır ve sonuç olarak üretilen çıktı (genellikle HTML), kullanıcının tarayıcısına gönderilir.

PHP çalıştırabilmek için bir web sunucusuna (Apache, Nginx gibi) ve PHP yorumlayıcısına ihtiyacınız vardır. Kendi bilgisayarınızda test yapmak için XAMPP, WAMP (Windows), MAMP (Mac) gibi paket programları kurarak kolayca bir yerel sunucu ortamı oluşturabilirsiniz.

Bu konuda PHP'nin temel sözdizimini, değişken tanımlamayı, basit çıktı alma yöntemlerini ve HTML içine nasıl gömülebileceğini göreceğiz.

1. PHP Nasıl Çalışır?

Basitçe iş akışı şöyledir:

  1. Kullanıcı tarayıcısına bir `.php` sayfasının adresini yazar ve ister.
  2. İstek web sunucusuna ulaşır.
  3. Web sunucusu, istenen dosyanın bir PHP dosyası olduğunu anlar ve dosyayı PHP yorumlayıcısına gönderir.
  4. PHP yorumlayıcısı dosyadaki PHP kodlarını çalıştırır.
  5. PHP kodları çalıştıktan sonra geriye genellikle HTML, CSS, JavaScript kodları veya sadece metin gibi bir çıktı üretir.
  6. PHP yorumlayıcısı çıktıyı web sunucusuna geri gönderir.
  7. Web sunucusu bu çıktıyı alıp kullanıcının tarayıcısına gönderir.
  8. Tarayıcı gelen çıktıyı yorumlar ve kullanıcıya gösterir (genellikle bildiğimiz web sayfası olarak).
Yani, siz tarayıcınızda bir PHP sayfasının kaynak koduna baktığınızda, asla PHP kodlarını göremezsiniz, sadece PHP'nin ürettiği HTML çıktısını görürsünüz.

2. PHP Kod Bloğu ve Temel Sözdizimi

PHP kodları, özel başlangıç `<?php` ve bitiş `?>` etiketleri arasına yazılır. Bu etiketler, sunucuya "buradaki kodları PHP olarak yorumla" talimatını verir.

PHP:
<?php
    // Buraya PHP kodları yazılır

    echo "Merhaba, PHP Dünyası!"; // Ekrana çıktı veren komut
?>

Temel Kurallar:
  • Her komut satırının sonuna noktalı virgül (;) konulmalıdır.
  • Yorum satırları için `//` (tek satır) veya `/* ... */` (çok satır) kullanılabilir.
  • PHP büyük/küçük harf duyarlıdır (özellikle değişken isimlerinde).

Değişkenler: PHP'de değişkenler `$` işareti ile başlar. Değişken tanımlarken tip belirtmenize gerek yoktur (PHP dinamik tiplidir).

PHP:
<?php
    $ad = "Ahmet";      // String (metin) değişken
    $yas = 25;         // Integer (tam sayı) değişken
    $boy = 1.80;       // Float (ondalıklı sayı) değişken
    $aktif_mi = true;  // Boolean (mantıksal) değişken
?>

Çıktı Alma (`echo` ve `print`): Ekrana veya tarayıcıya çıktı göndermek için `echo` veya `print` komutları kullanılır. `echo` biraz daha yaygın ve teorik olarak daha hızlıdır.

PHP:
<?php
    echo "Bu bir metin çıktısıdır.";
    echo "<p>HTML etiketlerini de çıktı olarak verebilirsiniz.</p>";

    $urun_adi = "Laptop";
    $fiyat = 5000;

    echo "Ürün: " . $urun_adi . "<br>"; // Metinleri birleştirmek için '.' kullanılır
    echo "Fiyat: " . $fiyat . " TL";
?>
Açıklama: `.` (nokta) işareti PHP'de metinleri (string) birleştirmek için kullanılır. `<br>` HTML'de alt satıra geçmek için kullanılır.

3. HTML İçine PHP Kullanımı

PHP'nin en yaygın kullanımı, mevcut bir HTML yapısının içine dinamik içerik eklemektir.

HTML:
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>PHP ve HTML Örneği</title>
</head>
<body>

    <h1>Web Siteme Hoş Geldiniz!</h1>

    <p>Bugünün tarihi:
        [B]<?php[/B]
            [B]echo date("Y-m-d H:i:s");[/B] // PHP'nin date() fonksiyonu ile güncel tarih/saat alırız
        [B]?>[/B]
    </p>

    <p>
        [B]<?php[/B]
            $kullanici_sayisi = 150;
            [B]echo "Şu anda sitemizde " . $kullanici_sayisi . " aktif kullanıcı var.";[/B]
        [B]?>[/B]
    </p>

</body>
</html>
Bu kodu bir metin düzenleyiciye yapıştırın ve "index.php" adıyla kaydedin. Yerel sunucu ortamınızı (XAMPP vb.) çalıştırıp, dosyayı sunucunuzun web klasörüne (genellikle htdocs) koyduktan sonra tarayıcınızdan eriştiğinizde, PHP kodlarının çalışıp dinamik içeriği ürettiğini göreceksiniz.

4. Form Verilerini Alma (GET ve POST)

Web sitelerindeki formlar kullanıcıdan veri almak için kullanılır. PHP, bu formlardan gelen veriyi işlemek için idealdir. Form verileri genellikle `GET` veya `POST` metotlarıyla gönderilir ve PHP'de `$_GET` veya `$_POST` adı verilen özel global değişkenler (diziler) aracılığıyla bu verilere erişilir.

Örnek: Kullanıcıdan ismini alan bir form ve bu ismi karşılayan bir PHP sayfası.

a) HTML Formu (`index.html` veya `index.php`):

HTML:
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Form Örneği</title>
</head>
<body>

    <h1>Adınızı Girin</h1>

    <form action="selamla.php" method="POST">
        <label for="ad">Adınız:</label>
        <input type="text" id="ad" name="kullanici_adi"><br><br>
        <input type="submit" value="Gönder">
    </form>

</body>
</html>
Açıklama: `<form>` etiketinin `action` özelliği, formun hangi sayfaya gönderileceğini belirtir. `method` özelliği ise verinin nasıl gönderileceğini (GET veya POST) belirtir. `<input>` etiketindeki `name` özelliği, PHP tarafında verilere erişmek için kullanılacak anahtardır.

b) PHP İşlem Sayfası (`selamla.php`):

PHP:
<?php
    // Formdan POST metodu ile gelen 'kullanici_adi' verisini al
    $gelen_ad = $_POST['kullanici_adi'];

    // Gelen adı ekrana yazdırarak kullanıcıyı selamla
    echo "<h1>Merhaba, " . $gelen_ad . "!</h1>";

    // İsteğe bağlı: Formu tekrar gösterme linki
    echo "<p><a href='index.html'>Geri Dön</a></p>";
?>
Açıklama: `$_POST` süper global dizisi, POST metodu ile gönderilen tüm form verilerini tutar. `$_POST['kullanici_adi']` komutu, name özelliği 'kullanici_adi' olan input alanından gelen veriyi alır.

Bu iki dosyayı (index.html ve selamla.php) yerel sunucunuzun web klasörüne koyun ve index.html'e tarayıcıdan erişin. Formu doldurup gönderdiğinizde selamla.php sayfasının çalıştığını göreceksiniz. GET metodu için form methodunu `GET` yapıp, PHP'de `$_GET['kullanici_adi']` kullanmanız gerekir.

Sıra Sizde!

Yerel sunucu ortamınızı (XAMPP, WAMP, MAMP) kurdunuz mu? İlk ".php" dosyanızı oluşturup çalıştırabildiniz mi? HTML içine PHP kodu gömmeyi denediniz mi? Form örneğini kendi bilgisayarınızda çalıştırabildiniz mi?

PHP kurulumu, temel sözdizimi veya form işlemleri hakkında aklınıza takılan soruları bu konu altında sorabilirsiniz.

Sırada Ne Var?

Web'in hem ön yüzünü hem de sunucu tarafını görmeye başladık. Web uygulamalarının ve modern yazılımların neredeyse tamamının ayrılmaz bir parçası daha var: Veri depolama. Bir sonraki ve şimdilik bu serinin son konusunda Veritabanı (Database) Temelleri'ne giriş yapacağız!

Takipte kalın!







Bu konu, "Hazır Kod Bankası" serisinin beşinci parçasıdır ve "Yazılım Bilgi ve Yeni Başlayanlar İçin" kategorisi altında paylaşılmıştır.
 

Şu an konuyu görüntüleyenler

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

Zevkini yansıtan rengi seç

Geniş / Dar görünüm

Temanızı geniş yada dar olarak kullanmak için kullanabileceğiniz bir yapıyı kontrolünü sağlayabilirsiniz.

Izgara görünümlü forum listesi

Forum listesindeki düzeni ızgara yada sıradan listeleme tarzındaki yapının kontrolünü sağlayabilirsiniz.

Resimli ızgara modu

Izgara forum listesinde resimleri açıp/kapatabileceğiniz yapının kontrolünü sağlayabilirsiniz.

Kenar çubuğunu kapat

Kenar çubuğunu kapatarak forumdaki kalabalık görünümde kurtulabilirsiniz.

Sabit kenar çubuğu

Kenar çubuğunu sabitleyerek daha kullanışlı ve erişiminizi kolaylaştırabilirsiniz.

Köşe kıvrımlarını kapat

Blokların köşelerinde bulunan kıvrımları kapatıp/açarak zevkinize göre kullanabilirsiniz.

Geri