Kategori arşivi: Programlama Dilleri

Php ile fonksiyon oluşturma

php fonksiyonPhp fonksiyon oluşturma

Php’de fonksiyonlar belli başlı işleri yapmak için kullanılan programcıklardır diyebiliriz. Php ile gelen çok fazla sayıda hazır fonksiyon bulunmaktadır. Fakat php programcıları kendilerine özel fonksiyonlar da tanımlayabilmektedirler. Fonksiyon tanımlamaya bir örnek vereceğim


<?php

function topla($sayi1, $sayi2){

$sonuc = $sayi1 + $sayi2;

return $sonuc;

}

?>

yukarıdaki örnekte topla isminde bir fonksiyon oluşturduk, giriş değerleri olarak sayi1 ve sayi2 değişkenlerini gösterdik, daha sonradan bu değişkenleri toplama operatörü ile toplayıp çıkan sonucu sonuc isminde bir değişkene aktardık.

Son olarak da sonuc isimli değişkenin değerini return yaptık.Tahmin edebileceğiniz üzere bir fonksiyon içerisinde return yapmak, return yapılan değeri fonksiyonun kendisine sanki o fonksiyon da bir değişkenmiş gibi değer atamaktır. Yani bir takım işlemler yapıyorsunuz ve bu işlemler arasından istediğiniz bir değeri return yapıyorsunuz, bu değer fonksiyonun kendisine yerleşiyor, daha sonradan bu değeri direk fonksiyon adıyla kullanabiliyorsunuz.

Bu sefer de fonksiyonumuzu program içerisinde nasıl kullanılırız buna bir örnek verelim;


<?php

topla(1+2);

?>

Bu örnekte fonksiyonumuz 1 ve 2 nin toplama işlemlerini yapacaktır fakat ekrana birşey yazdırmayacaktır, sonuç değerini return ettiğimiz halde bunu echo veya print ile ekrana yazdırmak zorundayız…


<?php

echo topla(1+2);

?>

fonksiyon çalıştırıldığında ekrana 3 yazdıracaktır.

Bir de dizi şeklinde değer döndürmeye örnek vereyim


<?php

function topla($sayi1, $sayi2){
$sonuc[1] = $sayi1 + $sayi2;
$sonuc[2] = 25;
return $sonuc;
}

print_r(topla(1,2));

?>

Bu örnekte ise sonuc isimli değişkene 1 ve 2 numaralı dizi elemanı olarak bazı değerler tanımladık ve return edilmiş bu dizi değerini print_r fonksiyonu ile ekrana yazdırdık

Php ile güvenlik resmi (captcha) oluşturma

captchaPhp ile kendi captcha kodlarınızı yazın

Geçenlerde bir arkadaşım için captcha lazım olduğunda aramıştım, fakat internette bulduğum örnekleri bir türlü çalıştıramamıştım.

Ben de oturdum yazdım, basit ama kullanışlı birşey ortaya çıktı. 2 adet dosyamız var birincisi resim.php diğeri ise iletisim.php bu dosyaların kodlarını veriyorum

resim.php


<?php
session_start();
$image = imagecreate(50,20);
$background = imagecolorallocate($image,0,0,0);
$foreground = imagecolorallocate($image,255,255,255);
imagestring($image,5,5,1,$_SESSION["resimguvenlik"],$foreground);
header("Content-type: image/jpeg"); imagejpeg($image);
?>

iletisim.php

<?php session_start();
if(!isset($_POST['guvenlikkodu'])){
$random = rand(1000,9999);
$_SESSION["resimguvenlik"] = $random;
}
if($guvenlikkodu!=$_SESSION["resimguvenlik"]){
//Burada güvenlik kodunun yanlış olduğuna dair uyarı veriyoruz
}else{
///Burada resim kodu doğru ise yapılacakları sıralıyoruz

bu da form ile ilgili html kodlarına bir örnek


<img alt="" src="resim.php" />
<form action="iletisim.php" method="post"><input type="text" name="guvenlikkodu" />
<input type="submit" value="Gönder" />
</form>
<pre>

Peki burada ne yaptık? ilk önce isset kullanarak daha önceden o sayfaya form post bilgisinin gelip gelmediğini kontrol ettik, bunu yapmazsak bir işlem için iki kod üretecektir. birincisi sayfa ilk yüklenirken, ikincisi butona basıldığı anda tekrar.
Ürettiğimiz bu kodu bir session(oturum) bilgisine aktardık, bunu yapıyoruz çünkü sayfa yeniden yüklendiğinde bilgiyi bir yerde tutmamız lazım. Daha sonradan sessiona kaydettiğimiz bilgi ile formdan gelen bilgiyi karşılaştırdık, eğer doğruysa şunları şunları yap dedik, vs…
Tabi ki bu kodların en basite indirgenmiş hali, mesala karakterler biraz daha zor okunsun, botlar kolay anlayamasın diye araya bazı simgeler karakterler sıkıştırabilirsiniz

Php ile captcha oluşturmayı anlatmaya çalıştım, umarım işinize yarar…

Php ile mysql select nasıl yapılır

php mysql select

Php ile mysql veritabanındaki değerler nasıl çeklilir (select yapmak)?

Php’de mysql veritabanındaki değerleri ekrana yazdırmak yani select yapmak için örnek bir kullanım göstereceğim, önce veritabanı bağlantısı kurmanız gerekiyor, bunu başka bir yazıda anlatmıştım o yüzden tekrar anlatmayacağım.


<?php

$limit = "15";
$sql = mysql_query("SELECT * FROM mesajlar ORDER BY id DESC LIMIT $limit");
while ($mesajlar = mysql_fetch_array($sql)) {
$kayit = $mesajlar['kayit'];

echo $kayit  .  '<br />';

}

?>

Şimdi burada ne yaptık? Aslında bir değil birkaç işlemi birden yaptık, yararlı olabileceğini düşündüğüm özellikleri bu kodlara ekledim ki tek tek arayıp uğraşmayın.

İlk önce mesajlar ismindeki tablodaki verileri çekiyoruz, tabi bütün verileri karmaşık bir sırayla değil, id isimli sütuna göre sonran başlayarak sırayla çekiyoruz, bunu da DESC ile belirttik, sql sorgusunun içerisinde görebilirsiniz, DESC yerine ASC yazsaydık sondan değil de ilk baştan başlayarak okuyacaktı.

Tabi verileri çekerken bulduğu bütün verileri değil de belli bir limitle çekmesini de söyledik, bunu da LIMIT sorgusunun peşine $limit değişkeni koyarak yaptık. Kodların ilk başındaki gibi $limit ismindeki değişkeni sql sorgusunun içine ekleyerek sayfada kaç sonuç listeleneceğini belirttik.

Bu sorguda her bir kayıt için tek tek işlem yapabiliriz veya genel olarak da işlem yapabiliriz. Tek tek işlem yapmak için while döngüsünün içerisine kodlarımızı eklememiz gerekiyor. Genel olarak bütün sorgulara işlem yapmak için de en başa ve en sona yapacağımız işlemleri ekleyebiliriz.

İşlemden kastım şudur, mesala tek tek bütün sorgulara farklı css class’ı atamak istiyorsunuz veya farklı şekilde filtreden geçirmek istiyorsunuz, bunu while döngüsünün içerisinde yaparsınız, oysa ki bütün sorgulara ortak bir filtre işelmi veya herhangi bir css işlemi yapmak isterseniz bunu direk olarak kodların en başına ve en sonuna ekleyebilirsiniz.

ekrana yazdırma kısmına gelince echo fonksiyonuyla, sorgu başına $kayit değişkenini yani kayit isimli tabloda bulunan veriyi, peşine de her sorgu için bir alt satıra geçmesini istediğimizden html’deki br tagını ekledik.

Bu kodla veritabanındaki bilgilerinizi ekrana yazdırabilirsiniz, kendinize göre değiştirebilirsiniz ve tabiki anlamadığınız yer olursa konuya yorum atarak sorabilirsiniz.

Php if elseelseif kullanımı

php if elsePhp if else kullanımı

Öncelikle bu üç fonksiyonun kullanım amacını belirteceğim, öncelikle mantığını göstereceğim, ondan sonra örnekle kullanımını göstereceğim. Özellikle elseif fonksiyonu kullanım amacı olarak çok karıştırılmakta.

Tanımlar

if

Koşul fonksiyonudur, bir durumun sağlandığında ne yapılması gerektiğini belirtmek için kullanılır.

else

if koşulu sağlanmadığında ne yapılması gerektiğini belirtir, eğer if’den sonra else kullanılmazsa birşey olmaz, fakat istenirse bu durum else koşulu ile belirtilir.

elseif

elseif, if koşuluna ek koşullar ekler. Mantık olarak diyebilirsiniz ki, ek koşlullar eklemek istesem bir sürü ard arda if oluştururum aynı hesaba gelir. İşte burada elseif fonksiyonunun avantajı şu. İlk bir tane if oluşturuyorsunuz, sonra ek koşulları elseif ile belirtiyorsunuz, ondan sonra bütün if ve elseiflere ortak bir else belirtiyorsunuz, bunu elseif kullanmadan yapmanız mümkün değil, avantajı tam olarak budur, pek kullanılmaz ama bazı yerlerde de elseif olmadan olmaz.

Kullanım

if

<?php

$sayi="1";

if($sayi=="1"){
echo "sayi 1 e eşit";
}

?>

Burada sayı 1’e eşitse sayı 1’e eşit çıktısı alacağız, ki üstte $sayi değişkenine 1 değeri verdiğimiz için sayi 1’e eşit olacaktır.

else

<?php

$sayi = "2";

if($sayi=="1"){
echo "sayi 1 e eşittir.";
}

else{
echo "sayi 1 e eşit değildir.";
}
?>

Burada sayı 1’e eşit değilse sayı 1’e eşit değil çıktısı alacağız, üstte sayı=”2″ dediğimiz için sayı 1’e eşit olmayacak ve sayı 1’e eşit değildir çıktısı alınacaktır.

elseif

<?php

$sayi="3";

if($sayi==3){
echo "sayi 3 e eşittir.";
}
elseif(!empty($sayi)){
echo "sayi boş değil";
}
else{
echo "sayi boş veya 3 e eşit değildir.";
}

?>

Burada sayı 3’e eşit olmalı ve aynı zamanda boş olmamalıdır. elseif fonksiyonu içerisinde empty fonksiyonunu kullanarak boş olmama şartını koydum, böylece iki koşul birden belitrip, eğer sağlanmazsa else koşulunu yapmasını belirttik.

Php if else kullanımını anlatmaya çalıştım, anlamadığınız yer olursa konunun altına yorum atarak veya eposta ile sorabilirsiniz.