PHP kodu içinde HTML kodu yazmak
Kod yazanlar bilir bir şeyi nasıl yapacağını bilmezsen ortaya çıkan hataları veya bir sorunu çözmek içinden çıkılması zor bir labirent gibidir.
Yazının başlığına “PHP kodu içinde HTML kodu yazmak” yazdım, ama aslında HTML içinde bile PHP kodu yazılabilir. Öyleyse bu derste şunu inceliyoruz: “HTML ve PHP arasındaki ilişki” veya “HTML ve PHP’nin birlikte kullanımı“.
İşte başlıyoruz…
Bir HTML sayfasında PHP ve karşılıklı olarak PHP sayfasında ise HTML kodu yazılabilir. Peki nasıl olacak gelin tüm senaryolara birlikte bakalım.
1. PHP kapama etiketinden sonra HTML yazılabilir
Bir PHP script’ini kapatmak için ?> kullanıyoruz. Yani bu kapama kodundan sonra HTML kodu yazabiliriz. Nasıl mı? işte aşağıda örneği.
ör:
<?php echo "Merhaba Dünya"; ?><p> Lorem ipsum dolor sit amet.</p>
2. if()
: işareti ile bir PHP satırının bittiğini belirtiyoruz. Burada dikkat etmeniz gereken nokta if koşulu endif ile mutlaka sonlandırılmalıdır.
ör:
<?php $isim = '';// bir deger var ise $soyisim = '';// bir deger yok ise ?> <?php if ($isim != ''): ?> <p> Merhaba Ahmet</p> <?php elseif($soyisim = ''): ?> <p>Senin ismin Ne?</p> <?php else: ?> <p>Senin ismin yok</p> <?php endif; ?>
Yukarıdaki örnekte $isim değişkenine bir değer atasaydık ekrana “Merhaba Ahmet” yazdırılacaktı.
3) if(){}
ör:
<?php $selam = 5; $woo = ''; // selam 5'e denk olmadığı için ekrana Merhaba yazdırılmaz // $woo değişkeni boş olduğu için ekrana Bu alan boş yazdırılacak ?> <?php if ($selam == '4') { ?> <p>Merhaba</p> <?php } elseif($woo == '') { ?> <p>Bu alan boş</p> <?php } else { echo '<p class="error">Woo kurulu değil. Lütfen Woocommerce\'ı kurun ve bazı ürünler ekleyin</p>'; } ?>
4) echo içinde HTML yazmak
çift tırnak ile bir değişkeni echo ederken değişkeni doğrudan HTML etiketleri arasına yazabiliriz. Ama tek tırknak ile echo etmek istersen ‘. ile PHP ve HTML etiketlerini birbirine bağlamalısın. Burada dikkat etmek gereken nokta eğer çift tırnak ile echo ediyorsan HTML etiketlerinin class‘larını veya id‘lerini tek tırnak içine almalısın.
$degisken = 26; echo "<p class='paragraf'>$degisken</p>";
4.1) Tek tırnak ile echo
$degiskenAdi = 'Ahmet'; echo 'Merhaba '.$degiskenAdi.'!';
5) .= birden çok kod blokunu ekrana yazdırmak için kullanılır
$html = '<div>'; $html .= '<h3><a href="#">First</a></h3>'; $html .= '<div>Lorem ipsum dolor sit amet.</div>'; $html .= '</div>'; $html .= '<div>'; echo $html;
6) fonksiyon içinde HTML yazmak
Bu kullanım if(){} kullanımı ile aynıdır. Aradaki fark sadece if yerine function yazılıyor.
<?php function guzellikler () { ?> <nav>Buraya dolaşım menüsü ekle</nav> <?php } ?> <?php guzellikler (); ?>
7) function içinde bir değişkeni iletmek
PHP’de defalarca echo yazmaktan kaçınmak için değişkeni function fonksiyon_adi ($degisken) şeklinde kullanarak değişkenin içinden geçebiliriz.
// Arama formu function theme_wpsearch($form) { $form = '<form method="get" class="form-search" action="' . home_url( '/' ) . '"> <div class="row"> <div class="col-lg-12"> <div class="input-group"> <input type="text" class="form-control search-query" value="' . get_search_query() . '" name="s" id="s" placeholder="'. esc_attr__('Arama yap...','text-domain') .'"> <span class="input-group-btn"> <button type="submit" class="btn btn-default" name="submit" id="searchsubmit" value="Ara"><span class="glyphicon glyphicon-search"></span></button> </span> </div> </div> </div> </form>'; return $form; } // bu parentezi kaldırmayın!
8. Bir fonksiyonu tamamen HTML’ye gönüştürmek
Bazı durumlarda tamamen HTML veya tamamen PHP yazmamız gerekebilir. Bu gibi durumlarda olmayan bir fonksiyondan faydalanırız. Bu kullanıma genelde fonksiyon sayfalarında ihtiyaç duyarız.
<?php if ( ! function_exists( 'rezervasyon' ) ) : /** * Bir fonksiyonu tamamen HTML'ye dönüştürmek */ function rezervasyon() { global $post; ?> <p> Buraya PHP ve HTML kodu yazılabilir</p> <?php } endif; ?>
Notlar
“=” atama operatörünü temsil eder. Bu operatör, değişkenlere değer atamak için kullanılır.
“==” denklik operatörünü temsil eder. Bu operatör, işlenenlerin değerinin eşdeğer olup olmadığını kontrol etmek için kullanılır.
Yorumunuzu ekleyin
Yorum yapmak için giriş yapmalısınız.