Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi

PHP kodu HTML içine nasıl yazılır?​

PHP kodu HTML içine, PHP dosyasında <?php ... ?> etiketleri arasına yazılır. Dosyanın uzantısı genellikle .php olmalı ve bir PHP sunucusu tarafından çalıştırılmalıdır. PHP sunucuda işlenir; tarayıcıya ise yalnızca üretilen HTML çıktısı gönderilir.

En küçük çalışan örnek​


Aşağıdaki içeriği index.php adıyla PHP sunucunuzun belge köküne kaydedin:

Kod:
<!doctype html>
<html lang="tr">
<head>
    <meta charset="utf-8">
    <title>PHP ve HTML</title>
</head>
<body>
    <h1>Hoş geldiniz</h1>

    <?php
    $kullanici = "Ayşe";
    echo "<p>Merhaba, " . htmlspecialchars($kullanici, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8') . "!</p>";
    ?>
</body>
</html>

Dosyayı doğrudan dosya yöneticisinden açmak yerine, PHP sunucusu üzerinden çalıştırın. Örneğin proje klasöründe şu komutu çalıştırabilirsiniz:

Kod:
php -S localhost:8000

Bu yerleşik sunucu yerel geliştirme içindir; üretimde kullanılmamalıdır.

Ardından tarayıcıda http://localhost:8000/index.php adresini açın. Beklenen sonuç, sayfada “Hoş geldiniz” başlığı ve “Merhaba, Ayşe!” paragrafının görünmesidir.

Sayfada PHP kodunun kendisi görünüyorsa dosya PHP tarafından işlenmiyordur; dosyayı .php olarak kaydettiğinizi ve PHP sunucusu üzerinden açtığınızı kontrol edin. “PHP komutu bulunamadı” benzeri bir hata alırsanız PHP kurulumu veya çalıştırma ortamı hazır değildir. Beyaz sayfa ya da sunucu hatası alırsanız PHP hata kaydını ve sözdizimi hatalarını kontrol edin.

PHP ve HTML birlikte nasıl çalışır?​

PHP etiketi açıldığında sunucu PHP kodunu çalıştırır. PHP etiketi dışındaki bölüm normal HTML olarak kabul edilir. PHP etiketi kapatıldığında dosyada yeniden HTML yazmaya devam edebilirsiniz.

Kod:
<h2>Ürün bilgisi</h2>
<?php
$urun = "Defter";
$fiyat = 25;
?>
<p>Ürün: <?= htmlspecialchars($urun, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8') ?></p>
<p>Fiyat: <?= $fiyat ?> TL</p>

<?= ... ?> kısa çıktı biçimidir ve bir ifadenin sonucunu HTML içine yazmak için kullanılır. Güncel PHP sürümlerinde her zaman kullanılabilir ve short_open_tag ayarına bağlı değildir. Aynı çıktının uzun biçimi <?php echo ...; ?> şeklindedir. Kısa PHP etiketleri olan <? ... ?> ise ayar ve sunucu koşullarına bağlı olduğundan kullanılmamalıdır.

HTML ile PHP’yi hangi durumda kullanacağınızı şu şekilde ayırabilirsiniz:

İhtiyaçUygun kullanımÖrnek
Değişmeyen içerikDoğrudan HTML<h1>Hakkımızda</h1>
Değişken değerPHP ile çıktı üretme<?= $baslik ?>
Koşula göre içerikPHP koşulu içinde HTMLif ($aktif) { ... }
Tekrarlanan içerikPHP döngüsü içinde HTMLforeach ($urunler as $urun)

Değişken metni HTML çıktısına eklerken htmlspecialchars() kullanmak, metindeki HTML karakterlerinin tarayıcı tarafından etiket olarak yorumlanmasını önler. Bu özellikle kullanıcıdan gelen ad, yorum veya arama metni gibi değerlerde gereklidir. Sayı gibi gerçekten sayısal olan değerleri de beklenen türde tutmak ve doğrulamak iyi bir uygulamadır.

Koşul ve döngü ile HTML üretme​

PHP bloğunun içinde HTML üretmek için echo kullanabilir veya PHP etiketini kapatıp HTML yazabilirsiniz. Okunabilirlik için uzun HTML parçalarında ikinci yaklaşım daha uygundur:

Kod:
<?php
$girisYapildi = true;
$urunler = ["Kalem", "Defter"];
?>

<?php if ($girisYapildi): ?>
    <p>Hesabınıza hoş geldiniz.</p>
<?php else: ?>
    <p>Lütfen giriş yapın.</p>
<?php endif; ?>

<ul>
<?php foreach ($urunler as $urun): ?>
    <li><?= htmlspecialchars($urun, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8') ?></li>
<?php endforeach; ?>
</ul>

Bu yapıda if ve foreach sunucuda çalışır; tarayıcı yalnızca oluşan <p>, <ul> ve <li> etiketlerini alır. Tarayıcının geliştirici araçlarında PHP değişkenlerini veya <?php bloklarını görmemeniz normaldir.

Sık yapılan hatalar​

  • Dosyayı .html kaydetmek: Sunucu özellikle yapılandırılmadıkça PHP kodu .html dosyasında çalıştırmaz. PHP kodu için .php kullanın.
  • Dosyayı doğrudan açmak: file:// adresi PHP çalıştırmaz. Yerel PHP sunucusu veya PHP destekli bir web sunucusu kullanın.
  • PHP etiketini kapatmamak: PHP bloğundan sonra HTML yazacaksanız ?> ile çıkın; tüm dosya PHP olarak kalacaksa kapanış etiketi zorunlu değildir.
  • Tek tırnakta değişkenin çözümlenmesini beklemek: echo '$isim'; değişken adını düz metin olarak basar. echo $isim; ve echo "$isim"; ise değişkenin değerini yazdıran geçerli biçimlerdir.
  • Kullanıcı verisini ham basmak: Kullanıcıdan gelen metni doğrudan HTML içine yerleştirmeyin; uygun çıktı bağlamında kaçış uygulayın.

Sık sorulan sorular​


PHP kodu tarayıcıda neden görünür?​

Dosya PHP yorumlayıcısından geçmeden sunuluyordur. Dosya uzantısını, sunucu yapılandırmasını ve adresi http:// veya https:// üzerinden açtığınızı kontrol edin. PHP kaynak kodunun görünmesi, PHP sunucusunun yanlış yapılandırıldığını gösterir.

PHP dosyasına JavaScript de yazılabilir mi?​

Evet. PHP sunucuda HTML ve JavaScript metni üretebilir; JavaScript ise HTML tarayıcıya ulaştıktan sonra çalışır. PHP ile tarayıcıda çalışacak JavaScript kodunu karıştırmadan, her birinin hangi ortamda çalıştığını ayrı değerlendirin.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.