Temel PHP Örnekleri

Bu makalede kendi hazırladığım temel PHP örneklerini göstereceğim. Bu örnekleri not alarak veya bu sayfayı yer işaretlerine ekleyerek unuttuğunuz noktalara tekrardan göz atabilirsiniz.

Örnekler, ne kadar temel olsa da PHP dilini tam anlamıyla kavramanıza yardımcı olacaktır. Şimdi 12 bölüme ayrılan örnekleri inceleyelim.

  • If-Else
  • Switch-Case
  • For Döngüsü
  • While Döngüsü
  • Operatörler
  • If Deyimi İle Kullanılan Komutlar
  • Diziler (Arrays)
  • Fonksiyonlar
  • Form İşlemleri
  • Zaman Fonksiyonları
  • Dosya ve Dizin İşlemleri
  • Dosya Yükleme

If-Else

Daha önce C# dilini gördüyseniz If-Else mantığı ile yazılan kontrol yapılarını aynı yöntem ile yazabilirsiniz.

<?php

	$yas = 33;

	if ($yas < 18) {
		echo "Yaşınız 18 den küçük";
		echo "<br>";
		echo "Bu siteye girmeniz yasaktır.";
	}else {
		echo "Web sitemize hoş geldiniz."
	}

?>

Bu tür kontrol yapılarını basit bir web sitesinden tutun Facebook, YouTubevb. popüler web siteleri oldukça fazla kullanmaktadır.

<?php

	$cinsiyet = "erkek";
	$boy = 1.60;
	$kilo = 50;

	if ($cinsiyet == "erkek") {

		if ($boy >= 1.80){

			if ($kilo <= 90){
				echo "Aranan eleman bulundu.";
			}else {
				echo "Kilonuz 90 kg olmadığı için <br>";
				echo "Şartı sağlayamadınız.";
			}

		}else {
			echo "Boyunuz 1.80  olmadığı için <br>";
			echo "Şartı sağlayamadınız.";
		}

	}else {
		echo "Cinsiyetiniz erkek olmadığı için <br>";
		echo "Şartı sağlayamadınız.";
	}

?>

Not: Bu tür uzun koşul belirtilen kodlarda, en dışarıdan yazılan koşuldan başlayarak adım adım gitmenizi öneririm.

Switch-Case

Bir önceki If-Else kontrol yapısına oldukça benzemektedir. Tek farkı koşul sadece değişkenin değeri için belirtilebilir.

<?php 

	$islem = "topla";

	switch ($islem){

		case "topla":
		$sayi1 = 1;
		$sayi2 = 2;
		echo $sayi1 + $sayi2;
		break;

		default:
		echo "İşlem geçersiz!";
		break;

	}

?>

For Döngüsü

Tüm programlama dillerinde öğretilen ilk döngü türüdür. Mantığını anladıktan sonra hiçbir zorluğu yoktur.

<?php 
	
	for ($i=1; $i < 5; $i++){
		echo $i; // Yapılacak işlemler
	}

	/*
		Bu döngüyü sırasıyla inceleyelim:
		1. $i değişkenine 1 sayısını atadık.
		2. $i değişkeni 5'den küçük olana kadar döndürdük.
		3. Döngü her döndüğünde $i değişkenini bir arttırdık.
		4. Döngü her döndüğünde ekrana $i değişkenini yazdırdık.
	*/

?>

While Döngüsü

Bir önceki For Döngüsü gibi mantığını anladıktan sonra hiçbir zorluğu yoktur. Bana göre programlamada kullanılan en basit döngü türü While döngüsüdür.

<?php 
	
	$i = 1;

	while ($i < 5){
		echo $i; // Yapılacak işlemler
	}

	/*
		Bu döngüyü sırasıyla inceleyelim:
		1. $i değişkenine 1 sayısını atadık.
		2. $i değişkeni 5'den küçük olana kadar döndürdük.
		3. Döngü her döndüğünde ekrana $i değişkenini yazdırdık.
		4. Döngü her döndüğünde $i değişkenini bir arttırdık.
	*/

?>

Uygulama

<?php 
	
	$i = 1;
	$toplam = 0;

	while ($i <= 10){

		echo $i;

		if ($i != 10){
			echo "+";
		}

		$toplam = $toplam + $i;

		$i++;

	}

	echo "=$toplam;"

	/*
		Bu uygulamayı sırasıyla inceleyelim:
		Amaç: 1'den 10'a kadar olan tüm sayıları ekrana yazdırıyor ve yanınada sayıların toplamını veriyor.
		1. $i değişkenine (Sayımız 1'den başlayacağı için) 1 sayısını atadık.
		2. $toplam değişkenine 0 sayısını atadık. (Döngü başlamadan önce tanıtmamız gerekiyor.)
		3. $i değişkeni, 10'dan küçük veya eşit olana kadar döndürdük.
		4. Döngü her döndüğünde ekrana $i değişkenini yazdırdık.
		5. $i değişkeni 10'a eşit değilse ekrana + işaretini yazdırdık.
		6. Döngü her döndüğünde $toplam değişkenine $i değişkeni ile kendisinin toplamını atadık.
		7. Döngü her döndüğünde $i değişkenini bir arttırdık.
		8. Döngü bittikten sonra ekrana $toplam değişkenini yazdırdık.
	*/

?>

Operatörler

<?php

	$a = 5;
	$b = 4;

	if ($a == $b){ // $a değişkeni $b'ye eşitse
		echo "Sayılar birbirine eşittir";
	}else {
		echo "Sayılar birbirine eşit değildir."
	}

?>
<?php

	$kadi = "Fatih";
	$sifre = 1453;

	if ($kadi == "Fatih" AND $sifre == 1453){ // AND komutu yerine && komutu da kullanılabilirdi.
		echo "Doğru giriş yaptınız.";
	}else {
		echo "Kullanıcı adı veya şifre yanlış.";
	}

?>

If Deyimi ile Kullanılan Komutlar

<?php

	isset() // Bu komut bir değişken tanımının içerisinde değer olup olmadığını kontrol eder.

	empty() // Bu ise isset ile aynı işi görür ama kontrolü tersten yapar.

?>
<?php

	$sifre = 1071;

	if (isset($sifre)){ // $sifre değişkeni dolu mu?
		echo "Değişkenin değeri var.";
	}else {
		echo "Değişkenin değeri yok.";
	}

?>
<?php

	$sifre = 1071;

	if (empty($sifre)){ // $sifre değişkeni boş mu?
		echo "Değişkenin değeri yok.";
	}else {
		echo "Değişkenin değeri var.";
	}

?>

Not: Unutmayın aslında boşluk karakteri de bir değerdir. Bu yüzden karşınıza $x = “” çıksa dahi değer var demektir.

Uygulama

Sayıları ekrana yazdırıp yanına toplamını yazdığımız uygulamaya çok benzemektedir. Ek olarak $harf değişkeni kullanılmıştır.

<?php 

	$harf = "a";
	$sayac = 0;

	while ($sayac < 26){

		echo $harf;

		if ($sayac != 25){
			echo "-";
		}

		$sayac++;
		$harf++;

	}

?>

Diziler (Arrays)

İki adet dizi türü vardır. Bunlar Tek Boyutlu ve Çok Boyutlu dizilerdir.

Tek Boyutlu Diziler

Sadece aynı özellikteki bir değer grubunu barındırmak için kullanılırlar.

Diziler tanımlarken array() fonksiyonu kullanılır.

<?php 
	
	// Bu örnekte günler, tek boyutlu bir dizi olup içerisinde 7 tane gün vardır

	$gunler = array("Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar");
	echo $gunler[2]; // Ekrana "Çarşamba" yazdırır.

?>
<?php 
	
	// For döngüsü ile dizi elemanlarını listelemek

	$ogrenciler = array("Emin Arif", "Kemal", "Ertuğrul", "Ubeytullah", "Erkan", "Hakan");
	
	for ($i=0; $i<count($ogrenciler); $i++){
		echo $ogrenciler[$i]."<br>";
	}

?>

Çok Boyutlu Diziler

<?php 

	$uyeler = array(
		array("isim" => "Yusuf", "yas" => 25, "memleket" => "Çankırı"),
		array("isim" => "Ahmet", "yas" => 20, "memleket" => "Van")
	);
	
	for ($i=0; $i<count($uyeler); $i++){
		echo $uyeler[$i]["isim"]." - ".$uyeler[$i]["yas"]." - ".$uyeler[$i]["memleket"]."<br>";
	}

?>

Fonksiyonlar

Kodlamayı kolaylaştırması ve hızlı derlenmesi için fonksiyonlar kullanılır. Fonksiyonlar bir kere tanımlanır ve defalarca, ihtiyaç olduğu noktada çağrılır. Genellikle bir iş veya hesaplama yapar ve sonucunu ortaya yeni bir değer olarak çıkartır. Bu değere “fonksiyondan dönen değer” denir.

<?php 

	function karebul($sayi) {
		return $sayi * $sayi; // Değer döndürür
	}

	$sonuc = karebul(5); // $sonuc değişkenini yazdırmak için "echo $sonuc" kullanılmalıdır!

?>
<?php 

	function sayi_topla($a, $b) {
		$topla = $a + $b;
		echo $topla; // Ekrana yazar
	}

	sayi_topla(3,5); // Ekrana yazdırmak için "echo" komutu gerekmez!

?>
<?php 

	function ucgen_alan_hesapla($a, $b) {
		$sonuc = $a * $b; // Uzun kenar ile kısa kenarı çarptık
		return $sonuc;
	}

	ucgen_alan_hesapla(5,3);

?>

Form İşlemleri

Web sitelerinde form gönderirken iki adet metot (yöntem) kullanırız. Bunlardan biri Get diğeri Post metodudur. Güvenlik açısından “Post Methodu” tercih edilir.

Get Metodu – HTML

<html>
<head>
	<title>Get Metodu</title>
</head>
<body>
	<form action="" method="get">
		<input type="text" name="metin">
		<input type="submit" value="Gönder">
	</form>
</body>
</html>

Get Metodu – PHP

<?php

	$metin = $_GET["metin"];
	echo $metin;

?>

Güvenlik açısından “Post Metodunun” tercih edilmesinin sebebi Form bilgilerini gönderirken adres çubuğunda parametreler görüntülenemez ve parametreler değişkene daha güvenli bir şekilde atanmış olur. Aşağıdaki resimde “Get Metodu” ile gönderilen bir formun adres çubuğu gösterilmiştir. Göründüğü gibi güvenlik yok denilecek kadar az.

Get Metodu Adres Çubuğu

Post Metodu – HTML

<html>
<head>
	<title>Post Metodu</title>
</head>
<body>
	<form action="" method="post">
		<input type="text" name="metin">
		<input type="submit" value="Gönder">
	</form>
</body>
</html>

Post Metodu – PHP

<?php

	$metin = $_POST["metin"];
	echo $metin;

?>

Zaman Fonksiyonları

Dizi mantığı ile çalışır. getdate() fonksiyonu kullanılır.

<?php 
	
	$tarih = getdate();

	echo $tarih["mday"]."."; // Gün
	echo $tarih["mon"]."."; // Ay
	echo $tarih["year"]."."; // Yıl
	echo $tarih["hours"]."."; // Saat
	echo $tarih["minute"]."."; // Dakika
	echo $tarih["seconds"]."."; // Saniye

?>

Dosya ve Dizin İşlemleri

file_exists(): Bir dosya veya klasörün var olup olmadığını kontrol eder. Dosya varsa true, yoksa false değerini döndürür.

<?php 
	
	$dizin = "resimler";

	if (file_exists($dizin)){
		echo "Dizin var";
	}else {
		echo "Dizin yok";
	}

?>

mkdir(): Klasör oluşturmak için mkdir() fonksiyonu kullanılır. Oluşturulan klasörün izin yetkisi parametre kısmında belirtilir. Varsayılan değer 0700’dır.

<?php 
	
	$klasor = "test";

	if (file_exists($klasor)){
		echo "Klasör zaten var!";
	}else {

		if (mkdir($klasor, 0700)){
			echo "Klasör oluşturuldu.";
		}else {
			echo "Klasör oluşturulamadı!";
		}

	}

?>

is_file() / is_dir(): Öğe dosya ise is_file, klasör ise is_dir fonksiyonları true değerini döndürür.

Dosya Yükleme

Dosya yükleme işlemi için HTML kodundaki form etiketine eklemeniz gereken kod:

<form enctype="multipart/form-data">

Şimdi seçtiğimiz ve yüklemek istediğimiz dosyanın bilgilerini alalım.

<?php 
	
	$kaynak = $_FILES["dosya"]["tmp_name"]; // Bilgisayardaki konumunu al
	$ad = $_FILES["dosya"]["name"]; // Adını al
	$tip = $_FILES["dosya"]["type"]; // Tipini al (jpg, png)
	$boyut = $_FILES["dosya"]["size"]; // Boyutunu al

?>

Artık yükleme işlemini yapabiliriz.

<?php
	
	$kaynak = $_FILES["dosya"]["tmp_name"];
        $ad = $_FILES["dosya"]["name"];

	if (@copy($kaynak, "/www/upload/$ad")){
		echo "Dosya başarıyla yüklendi."
	}else {
		echo "Dosya yüklenirken bir hata oluştu.";
	}

?>