Kategori arşivi: Php

Php – PDO Veritabanı Bağlantısı

pdoPdo kullanarak veritabanına nasıl bağlanılır?

Php üzerinde pdo veritabanı class ını kullanabilmek için aşağıdaki bağlantı cümlesini kullanabilirsiniz.


try{
$adres = 'mysql:host=localhost;dbname=veritabaniismi';
$kullanici = 'kullaniciadi';
$sifre = 'sifre';
$pdo = new PDO($adres, $kullanici, $sifre);
$pdo->exec('SET CHARSET UTF8');
} catch(PDOException $e){
die('Bağlantı hatası: ' . $e->getMessage());
exit;
}

Php’de file_exists() fonksiyonu kullanımı

Php’de bir dosyanın var olup olmadığını kontrol etmek için file_exists() fonksiyonu kullanılır. Bu ne işimize yarayacak ki diyecek olan varsa eğer, şöyle örnek verebilirim. Bir sistem tasarlıyorsunuz ve gelen bilgiye göre bir sayfa açacaksınız, sileceksiniz vs… Bu gelen bilgiyi işleyebilmek için önce dosya var mı diye kontrol etmeniz gerekebilir, çünkü dosya var olmadan siz o dosyayı açmaya çalıştığınızda ekrana görünüşü çirkin bir uyarı gelecektir. Bu yüzden ilk önce kontrol edersiniz, eğer varsa yükler, yoksa böyle bir dosya yok vs diye hata verirsiniz.

Fonksiyon çalıştırıldığında size return olarak boolean değeri gönderir, eğer dosya varsa true, yoksa false değeri alırsınız.


$dosyaismi = "iletisim.php";

if(file_exists($dosyaismi)){

echo $dosyaismi . 'var ve yüklendi.';

include $dosyaismi;

} else {

echo $dosyaismi . 'malesef bulunamadı :/ ';

}

 

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.