Kategoriler
PHP

PHP

Hypertext Preprocessor anlamına gelen PHP, özellikle web geliştirme için uygun olan ve HTML’ye gömülebilen, sunucu taraflı çalışan, yaygın olarak kullanılan bir Açık Kaynak genel amaçlı betik dilidir. Söz dizimi C, Java ve Perl dillerinden almış ve öğrenmesi kolaydır. Dilin ana amacı, web geliştiricilerinin dinamik olarak oluşturulmuş web sayfalarını hızlı bir şekilde yazmasına olanak sağlamaktır, ancak PHP ile daha fazlasını yapabilirsiniz.

PHP, Rasmus Lerdorf tarafında küçük bir açık kaynak projesi olarak başladı ve 1994’te PHP ilk versiyonunu ortaya çıkardı.

  • PHP, “PHP: Hypertext Preprocessor” için yinelenen bir kısaltmadır.
  • PHP, HTML’ye gömülü bir sunucu tarafı komut dosyası dilidir. Dinamik içeriği, veritabanlarını, oturum izlemeyi yönetmek, hatta tüm e-ticaret sitelerini bile oluşturmak için kullanılır.
  • MySQL, PostgreSQL, Oracle, Sybase, Informix ve Microsoft SQL Server gibi birçok popüler veri tabanına entegre edilmiştir.
  • PHP, özellikle Unix tarafında bir Apache modülü olarak derlendiğinde, uygulamasında keyifli bir şekilde zippidir. MySQL sunucusu, bir kez başlatıldığında, kayıt ayarlarında büyük sonuç kümeleriyle bile çok karmaşık sorguları çalıştırır.
  • PHP, POP3, IMAP ve LDAP gibi çok sayıda büyük protokolü destekler. PHP4, Java ve dağıtılmış nesne mimarileri (COM ve CORBA) için destek ekledi, n-katmanlı geliştirme ilk kez bir olasılık haline getirdi.
  • PHP Sözdizimi C gibi dir.
  • PHP dosyaları metin, HTML, CSS, JavaScript ve PHP kodu içerebilir.
  • PHP kodu sunucuda çalıştırılır ve sonuç tarayıcıya düz HTML olarak döndürülür.
  • PHP dosyalarının uzantısı “.php”

PHP’nin yaygın kullanımı

  • PHP, sistem işlevlerini, yani oluşturduğu, açabilen, okuyabilen, yazabilen ve kapatabilen bir sistemdeki dosyalardan gerçekleştirir.
  • PHP formları işleyebilir, yani dosyalardan veri toplayabilir, verileri bir dosyaya kaydedebilir, veri gönderebilir ve verileri kullanıcıya gönderebilir.
  • Veritabanınızdaki öğeleri PHP ile ekleyebilir, silebilir ve değiştirebilirsiniz.
  • Çerez değişkenlerine erişin ve çerezleri ayarlayın.
  • PHP’yi kullanarak, kullanıcıların web sitenizin bazı sayfalarına erişmesini kısıtlayabilirsiniz.
  • Verileri şifreleyebilir.

Temel PHP Sözdizimi

Bir PHP betiği belgenin herhangi bir yerine yerleştirilebilir.

Bir PHP betiği <?php ile başlar ve ?> ile biter:

[code]<?php
// PHP kodları
?>[/code]

PHP dosyaları için varsayılan dosya uzantısı “.php” dir.

Bir PHP dosyası normalde HTML etiketlerini ve bazı PHP kodlama kodunu içerir.

Aşağıda, basit bir PHP dosyası örneğimiz var, bir PHP betiği ile “Merhaba Dünya!” bir web sayfasında:

[code]<!DOCTYPE html>
<html>
<body>
<?php
echo “Merhaba Dünya!”;
?>
</body>
</html>[/code]

PHP’de yorumlar

PHP kodundaki bir yorum, programın bir parçası olarak okunmayan / yürütülen bir satırdır. Tek amacı, kod arayan biri tarafından okunmaktır.

Yorumlar şu amaçlarla kullanılabilir:

  • Başkalarının ne yaptığını anlamasına izin verir
  • Yaptığınız şeyi kendinize hatırlatır – Programcıların çoğu, bir ya da iki yıl sonra kendi işlerine geri dönmeyi deneyimlediler ve yaptıkları şeyi yeniden bulmaları gerekti. Yorumlar, kodu yazarken ne düşündüğünüzü size hatırlatabilir

PHP yorum yapmanın çeşitli yollarını destekler:

[code]<!DOCTYPE html>
<html>
<body>
<?php
// Bu tek satırlı bir yorumdur
# Bu aynı zamanda tek satırlı bir yorumdur
/*
Bu, birden çok satıra
yayılan çok satırlı
bir yorum bloğu
*/
// Kod satırındaki parçaları dışarıda bırakmak için yorumları da kullanabilirsiniz.
$x = 5 /* + 15 */ + 5;
echo $x;
?>
</body>
</html>[/code]

PHP Durum Hassasiyeti

PHP’de, tüm anahtar kelimeler (ör., Else, while, echo vb.), Sınıflar, işlevler ve kullanıcı tanımlı işlevler büyük / küçük harf duyarlı DEĞİLDİR.

Aşağıdaki örnekte, aşağıdaki üç echo ifadesi geçerlidir (ve eşittir):

[code]<!DOCTYPE html>
<html>
<body>
<?php
ECHO “Merhaba Dünya!<br>”;
echo “Merhaba Dünya!<br>”;
EcHo “Merhaba Dünya!<br>”;
?>
</body>
</html>[/code]

PHP Değişkenler

Değişkenler bilgi depolamak için kullanılan araçtır.Bir değişken $ işareti ile başlar, ardından değişkenin adıyla devam eder:

[code]<?php
$txt = “Merhaba Dünya!”;
$x = 5;
$y = 10.5;
?>[/code]

Yukarıdaki ifadelerin uygulanmasından sonra, $txt değişkeni, Hello world! Değerini tutacak, $x değişkeni 5 değerini tutacak ve $y değişkeni değeri 10.5 tutacaktır.

Not: Bir değişkene bir metin değeri atadığınızda, değeri tırnak içine alın.

Not: Diğer programlama dillerinden farklı olarak PHP’nin bir değişken bildirme komutu yoktur. İlk önce bir değer atadığınız an oluşturulur.

Bir değişken kısa bir ada sahip olabilir (x ve y gibi) veya daha açıklayıcı bir ad (isim, uye, video) olabilir.

PHP değişkenleri için kurallar:

  • Bir değişken $ işareti ile başlar, ardından değişkenin adı ile devam eder.
  • Değişken ad bir harf veya alt çizgi karakteri ile başlamalıdır.
  • Bir değişken adı bir sayı ile başlayamaz.
  • Değişken ad sadece alfa sayısal karakterler ve alt çizgiler içerebilir. (A-z, 0-9 ve _)
  • Değişken adlar büyük / küçük harfe duyarlıdır. ($ age ve $ AGE iki farklı değişkentir)

PHP echo deyimi genellikle ekrana veri çıkışı için kullanılır.

Aşağıdaki örnek, metin çıktısını ve bir değişkeni nasıl gösterecek:

[code]<?php
$txt = “IKWeb”;
echo “Merhaba $txt!”;
?>[/code]

Aşağıdaki örnek, yukarıdaki örnekle aynı çıktıyı üretecektir:

[code]<?php
$txt = “IKWeb”;
echo “Merhaba ” . $txt . “!”;
?>[/code]

Aşağıdaki örnek iki değişkenin toplamını verecektir:

[code]<?php
$x = 5;
$y = 4;
echo $x + $y;
?>[/code]

Yukarıdaki örnekte, PHP’ye hangi veri tipinin değişken olduğunu söylememize gerek olmadığını fark ettik.

PHP, değerine bağlı olarak değişkeni otomatik olarak doğru veri türüne dönüştürür.

C, C ++ ve Java gibi diğer dillerde programcı, kullanmadan önce değişkenin adını ve türünü bildirmelidir.

Kategoriler
PHP

PHP ile T.C. Kimlik No Sorgulamak

T.C. Kimlik No, Türkiye Cumhuriyeti vatandaşlarına verilen 11 basamaktan oluşan benzersiz numaradır. Birler ve onlar basamağı doğrulama sayısıdır. T.C. Kimlik Numarası olup olmadığı hakkında bilgi vermektedir. Diğer basamaktaki sayılar ise bir algoritma ile hesaplanmaktadır.

İlk 10 rakamın toplamının birler basamağı tc kimlik numaranın 11. rakamı vermektedir.
1, 3, 5, 7 ve 9. rakamın toplamının 7 katı ile 2, 4, 6 ve 8. rakamın toplamının 9 katı olan bu sayıların toplamının birler basamağı tc kimlik numaranın 10. rakamı vermektedir.
1, 3, 5, 7 ve 9. rakamın toplamının 8 katı tc kimlik numaranın 11. rakamı vermektedir.

PHP T.C. Kimlik No sorgulama kodu şu şekildedir;

[code]<?php
function tckimlikno($tckimlikno)
{
$olmazlar=array(‘11111111110′,’22222222220′,’33333333330′,’44444444440′,’55555555550′,’66666666660′,’7777777770′,’88888888880′,’99999999990’);
if($tckimlikno[0]==0 or !is_int($tckimlikno) or strlen($tckimlikno)!=11)
{
return(false);
}
else
{
$s13579 = null;
$s2468 = null;
$s123456789on = null;
for($a=1; $a<=9; $a=$a+2)
{
$s13579 = $s13579 + $tckimlikno[$a-1];
}
for($a=2; $a<=8; $a=$a+2)
{
$s2468 = $s2468 + $tckimlikno[$a-1];
}
for($a=1; $a<=10; $a=$a+1)
{
$s123456789on = $s123456789on + $tckimlikno[$a-1];
}
if(($s13579*7+$s2468*9)%10 != $tckimlikno[9] || $s123456789on%10 != $tckimlikno[10])
{
return(false);
}
else
{
foreach($olmazlar as $olmaz)
{
if($tckimlikno==$olmaz)
{
return(false);
}
}
return(true);
}
}
}

$tckimlikno = ‘10000000146’;
$sonuc = tckimlikno($tckimlikno);
if($sonuc)
{
echo(“DOĞRU”);
}
else
{
echo(“YANLIŞ”);
}
?>[/code]

Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü sistemi üzerinden doğrulama yapmak için şu kodu kullanabilirsiniz;

[code]<?php
function tckimlik($tckimlik){
$post = ‘<?xml version=”1.0″ encoding=”utf-8″?><soap:Envelope xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”><soap:Body><TCKimlikNoDogrula xmlns=”http://tckimlik.nvi.gov.tr/WS”><TCKimlikNo>’.$tckimlik[“tcno”].'</TCKimlikNo><Ad>’.$tckimlik[“ad”].'</Ad><Soyad>’.$tckimlik[“soyad”].'</Soyad><DogumYili>’.$tckimlik[“dogumyil”].'</DogumYili></TCKimlikNoDogrula></soap:Body></soap:Envelope>’;
$header = array(
‘POST /Service/KPSPublic.asmx HTTP/1.1’,
‘Host: tckimlik.nvi.gov.tr’,
‘Content-Type: text/xml; charset=utf-8’,
‘SOAPAction: “http://tckimlik.nvi.gov.tr/WS/TCKimlikNoDogrula”‘,
‘Content-Length: ‘.strlen($post)
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, “https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx” );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$gelen = curl_exec($ch);
curl_close($ch);
return(strip_tags($gelen));
}

$tckimlik = [
“tcno”=>TCKIMLIKNUMARANIZ,
“ad”=>”ADINIZ”,
“soyad”=>”SOYADINIZ”,
“dogumyil”=>”DOĞUMYILINIZ”
];
$sonuc = tckimlik($tckimlik);
if($sonuc==”true”)
{
echo(“DOĞRU”);
}
else
{
echo(“YANLIŞ”);
}
?>[/code]

PHP SoapClient class ile T.C. Kimlik Numarası’nı doğrulama yapabileceğiniz diğer bir yöntemdir.

[code]<?php
$soap = new SoapClient(“https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL”);
try {
$sonuc = $soap->TCKimlikNoDogrula([
‘TCKimlikNo’ => ‘TCKIMLIKNUMARANIZ’,
‘Ad’ => ‘ADINIZ’,
‘Soyad’ => ‘SOYADINIZ’,
‘DogumYili’ => ‘DOĞUMYILINIZ’
]);
if ($sonuc->TCKimlikNoDogrulaResult) {
echo(“DOĞRU”);
} else {
echo(“YANLIŞ”);
}
} catch (Exception $e) {
echo $e->faultstring;
}
?>[/code]

 

Kategoriler
PHP

PHP cURL (Client URL Library – İstemci URL Kütüphanesi)

cURL, birçok farklı protokol türüyle birçok farklı sunucu tipine bağlanmanızı ve haberleşmenizi sağlayan kütüphanedir. PHP, Daniel Stenberg tarafından oluşturulan bir kütüphane olan libcurl’ı desteklemektedir. libcurl şu anda http, https, ftp, gopher, telnet, dict, file ve ldap protokollerini desteklemektedir. libcurl ayrıca HTTPS sertifikalarını, HTTP POST’unu, HTTP PUT’unu, FTP yüklemesini (bu ayrıca PHP’nin ftp uzantısıyla da yapılabilir), HTTP form tabanlı yüklemeyi, proxy’leri, çerezleri ve kullanıcı+şifre kimlik doğrulamasını destekler.

PHP cURL Kütüphanesi kullanımı şu şekildedir;

 

Temel cURL kullanımı;

[code]<?php
$url = “https://www.whois.web.tr”;

$curl = curl_init();

curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);

$output = curl_exec($curl);

curl_close($curl);

echo($output);
?>[/code]

 

cURL POST metodu;

[code]<?php
$url = “https://www.whois.web.tr”;
$params = array(
‘q’ => ‘teknokur’
);

$curl = curl_init();

curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_POST,true);
curl_setopt($curl,CURLOPT_POSTFIELDS, $params);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);

$output = curl_exec($curl);

curl_close($curl);

echo $output;
?>[/code]

Kategoriler
PHP

PHP ile dosya yükleme (file upload)

Bu yazımızda php ile sunucuya dosya yükleme nasıl yapıldığını anlatacağız. Bir web sitemizde kullanıcıların dosya (video, resim) yüklemesini isteyebiliriz. Kullanıcılar dosya upload ile aygıtındaki (bilgisayar, tablet, cep telefonu) bir dosyayı (resim, video, döküman vb.) siteye aktarabilir. PHP ile post metodunu kullanarak nasıl dosya yüklendiğini aşağıdaki koddan görebilirsiniz;

 

Temel dosya yükleme;

[code]<?php
if($_POST)
{
if($_FILES[“dosya”][“name”])
{
$gecici_dosya = $_FILES[“dosya”][“tmp_name”];
$ozgun_dosya_adi = $_FILES[“dosya”][“name”];
$yukle = is_uploaded_file($gecici_dosya);
if($yukle)
{
$hedef = ‘dosya/’.$ozgun_dosya_adi;
$kaydet = move_uploaded_file($gecici_dosya,$hedef);
if($kaydet)
{
echo(‘<h4 class=”alert_success”>Dosya Yüklendi.</h4>’);
}
else
{
echo(‘<h4 class=”alert_error”>Dosya yüklenemedi.</h4>’);
}
}
else
{
echo(‘<h4 class=”alert_error”>Dosya yüklenemiyor.</h4>’);
}
}
else
{
echo(‘Dosya seçmediniz.’);
}
}
else
{

}
?>
<form action=”” method=”post” enctype=”multipart/form-data”>
<input type=”file” name=”dosya” />
<input type=”hidden” name=”yukle” />
<input type=”submit” value=”Yükle” />
</form>[/code]

 

Gelişmiş dosya yükleme

[code]<?php
if($_POST)
{
if($_FILES[“dosya”][“name”])
{
$max_dosya_boyutu = 1024000;
$min_dosya_boyutu = 1240;
$yuklenecek_dizin = realpath(“”).”/dosya”;
$dosya_tipleri = array(“IMAGE/PNG”,”IMAGE/JPG”,”IMAGE/JPEG”);
$dosya_uzantilari = array(“PNG”,”JPG”,”JPEG”);
$gecici_dosya = isset($_FILES[“dosya”][“tmp_name”]) ? $_FILES[“dosya”][“tmp_name”] : false;
$ozgun_dosya_adi = isset($_FILES[“dosya”][“name”]) ? $_FILES[“dosya”][“name”] : false;
$dosya_tipi = isset($_FILES[“dosya”][“type”]) ? $_FILES[“dosya”][“type”] : false;
$dosya_boyutu = isset($_FILES[“dosya”][“size”]) ? $_FILES[“dosya”][“size”] : false;
$dosyaexp = explode(“.”,$ozgun_dosya_adi);
$dosya_adi = isset($dosyaexp[0]) ? $dosyaexp[0] : null;
$dosya_uzantisi = end($dosyaexp);
if($dosya_boyutu <= $max_dosya_boyutu && $dosya_boyutu >= $min_dosya_boyutu)
{
if(in_array(strtoupper($dosya_uzantisi),$dosya_uzantilari) && in_array(strtoupper($dosya_tipi),$dosya_tipleri))
{
$yukle = is_uploaded_file($gecici_dosya);
if($yukle)
{
$hedef = $yuklenecek_dizin.”/”.mt_rand(11111111,99999999).’.’.strtolower($dosya_uzantisi);
$kaydet = move_uploaded_file($gecici_dosya,$hedef);
if($kaydet)
{
echo(‘<h4 class=”alert_success”>Dosya Yüklendi.</h4>’);
}
else
{
echo(‘<h4 class=”alert_error”>Dosya yüklenemedi.</h4>’);
}
}
else
{
echo(‘<h4 class=”alert_error”>Dosya yüklenemiyor.</h4>’);
}
}
else
{
echo(‘<h4 class=”alert_warning”>Dosya türü testeklemiyor.</h4>’);
}
}
else
{
echo(‘<h4 class=”alert_warning”>Dosya boyutu istenildiği gibi değil.</h4>’);
}
}
else
{
echo(‘Dosya seçmediniz.’);
}
}
else
{
echo(‘Yeni dosya yüklemek için bir dosya seçin.’);
}
?>
<form action=”” method=”post” enctype=”multipart/form-data”>
<input type=”file” name=”dosya” />
<input type=”hidden” name=”yukle” />
<input type=”submit” value=”Yükle” />
</form>[/code]

 

Çoklu dosya yükleme;

[code]<?php
if($_POST)
{
if(is_array($_FILES[“dosya”][“name”]))
{
for($i=0;$i<count($_FILES[“dosya”][“name”]);$i++)
{
if($_FILES[“dosya”][“name”][$i])
{
$max_dosya_boyutu = 1024000;
$min_dosya_boyutu = 1240;
$yuklenecek_dizin = realpath(“”).”/dosya”;
$dosya_tipleri = array(“IMAGE/PNG”,”IMAGE/JPG”,”IMAGE/JPEG”);
$dosya_uzantilari = array(“PNG”,”JPG”,”JPEG”);
$gecici_dosya = isset($_FILES[“dosya”][“tmp_name”][$i]) ? $_FILES[“dosya”][“tmp_name”][$i] : false;
$ozgun_dosya_adi = isset($_FILES[“dosya”][“name”][$i]) ? $_FILES[“dosya”][“name”][$i] : false;
$dosya_tipi = isset($_FILES[“dosya”][“type”][$i]) ? $_FILES[“dosya”][“type”][$i] : false;
$dosya_boyutu = isset($_FILES[“dosya”][“size”][$i]) ? $_FILES[“dosya”][“size”][$i] : false;
$dosyaexp = explode(“.”,$ozgun_dosya_adi);
$dosya_adi = isset($dosyaexp[0]) ? $dosyaexp[0] : null;
$dosya_uzantisi = end($dosyaexp);
if($dosya_boyutu <= $max_dosya_boyutu && $dosya_boyutu >= $min_dosya_boyutu)
{
if(in_array(strtoupper($dosya_uzantisi),$dosya_uzantilari) && in_array(strtoupper($dosya_tipi),$dosya_tipleri))
{
$yukle = is_uploaded_file($gecici_dosya);
if($yukle)
{
$hedef = $yuklenecek_dizin.”/”.mt_rand(11111111,99999999).’.’.strtolower($dosya_uzantisi);
$kaydet = move_uploaded_file($gecici_dosya,$hedef);
if($kaydet)
{
echo(‘<h4 class=”alert_success”>Dosya Yüklendi. (‘.$_FILES[“dosya”][“name”][$i].’)</h4>’);
}
else
{
echo(‘<h4 class=”alert_error”>Dosya yüklenemedi. (‘.$_FILES[“dosya”][“name”][$i].’)</h4>’);
}
}
else
{
echo(‘<h4 class=”alert_error”>Dosya yüklenemiyor. (‘.$_FILES[“dosya”][“name”][$i].’)</h4>’);
}
}
else
{
echo(‘<h4 class=”alert_warning”>Dosya türü testeklemiyor. (‘.$_FILES[“dosya”][“name”][$i].’)</h4>’);
}
}
else
{
echo(‘<h4 class=”alert_warning”>Dosya boyutu istenildiği gibi değil. (‘.$_FILES[“dosya”][“name”][$i].’)</h4>’);
}
}
else
{
echo(‘Dosya seçmediniz.’);
}
}
}
else
{
echo(‘Geçersiz array()’);
}
}
else
{
echo(‘Yeni dosya yüklemek için bir dosya seçin.’);
}
?>
<form action=”” method=”post” enctype=”multipart/form-data”>
<input type=”file” name=”dosya[]” multiple />
<input type=”hidden” name=”yukle” />
<input type=”submit” value=”Yükle” />
</form>[/code]

Kategoriler
PHP

PHPMailer ile mail göndermek

PHP ile mail göndermek için mail() fonksiyonu kullanabileceğinizi anlatmıştık. Bu fonksiyon sistem üzerindeki mail sunucu tarafından göndermektedir. Farklı bir mail sunucudan mail göndermek için smtp üzerinden göndermek gerekir. PHPMailer, smtp üzerinden gönderebileceğiniz bir php eklentisidir. Kurulumu ve kullanımı oldukça kolaydır. https://github.com/PHPMailer/PHPMailer sayfasından indirebilirsiniz. Kurulum ve kullanım kodları şu şekildedir.

Standart kullanım;

[code]<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require ‘PHPMailer/src/Exception.php’;
require ‘PHPMailer/src/PHPMailer.php’;
require ‘PHPMailer/src/SMTP.php’;

$mail = new PHPMailer(true);

$mail->setLanguage(‘tr’);
$mail->CharSet = “utf-8”;

$mail->isSMTP();
$mail->Host = ‘mail.example.com’;
$mail->Port = ‘587’;
$mail->Username = ‘[email protected]’;
$mail->Password = ‘Mail şifresi’;
$mail->SMTPAuth = true;
$mail->SMTPSecure = ‘tls’;

$mail->setFrom(‘[email protected]’,’Example – Admin’);
$mail->addAddress(‘[email protected]’);

$mail->isHTML(false);
$mail->Subject = ‘Test İleti’;
$mail->Body = ‘Merhaba, Bu ileti test amaçlı iletilmiştir. Bilginize.’;

if($mail->send())
{
echo(‘Mesaj gönderildi.’);
}
else
{
echo(‘Mail gönderilemedi.’);
}
?>[/code]

HTML ileti kullanımı;

[code]<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require ‘PHPMailer/src/Exception.php’;
require ‘PHPMailer/src/PHPMailer.php’;
require ‘PHPMailer/src/SMTP.php’;

$mail = new PHPMailer(true);

$mail->setLanguage(‘tr’);
$mail->CharSet = “utf-8”;

$mail->isSMTP();
$mail->Host = ‘mail.example.com’;
$mail->Port = ‘587’;
$mail->Username = ‘[email protected]’;
$mail->Password = ‘Mail şifresi’;
$mail->SMTPAuth = true;
$mail->SMTPSecure = ‘tls’;

$mail->setFrom(‘[email protected]’,’Example – Admin’);
$mail->addAddress(‘[email protected]’);

$mail->isHTML(true);
$mail->Subject = ‘Test İleti’;
$mail->Body = ‘Merhaba,<br /><br />Bu ileti test amaçlı iletilmiştir.<br /><br />Bilginize.’;

if($mail->send())
{
echo(‘Mesaj gönderildi.’);
}
else
{
echo(‘Mail gönderilemedi.’);
}
?>[/code]

try-catch kullanım;

[code]<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require ‘PHPMailer/src/Exception.php’;
require ‘PHPMailer/src/PHPMailer.php’;
require ‘PHPMailer/src/SMTP.php’;

$mail = new PHPMailer(true);

$mail->setLanguage(‘tr’);
$mail->CharSet = “utf-8”;

$mail->isSMTP();
$mail->Host = ‘mail.example.com’;
$mail->Port = ‘587’;
$mail->Username = ‘[email protected]’;
$mail->Password = ‘Mail şifresi’;
$mail->SMTPAuth = true;
$mail->SMTPSecure = ‘tls’;

$mail->setFrom(‘[email protected]’,’Example – Admin’);
$mail->addAddress(‘[email protected]’);

$mail->isHTML(true);
$mail->Subject = ‘Test İleti’;
$mail->Body = ‘Merhaba,<br /><br />Bu ileti test amaçlı iletilmiştir.<br /><br />Bilginize.’;

try
{
if($mail->send())
{
echo(‘Mesaj gönderildi.’);
}
else
{
echo(‘Mail gönderilemedi.’);
}
}
catch (Exception $e)
{
echo(‘Mesaj gönderilemedi. Mailer Hatası: ‘.$mail->ErrorInfo);
}
?>[/code]

HTML içerik ileti kullanımı;

[code]<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require ‘PHPMailer/src/Exception.php’;
require ‘PHPMailer/src/PHPMailer.php’;
require ‘PHPMailer/src/SMTP.php’;

$mail = new PHPMailer(true);

$mail->setLanguage(‘tr’);
$mail->CharSet = “utf-8”;

$mail->isSMTP();
$mail->Host = ‘mail.example.com’;
$mail->Port = ‘587’;
$mail->Username = ‘[email protected]’;
$mail->Password = ‘Mail şifresi’;
$mail->SMTPAuth = true;
$mail->SMTPSecure = ‘tls’;

$mail->setFrom(‘[email protected]’,’Example – Admin’);
$mail->addAddress(‘[email protected]’);

$mail->isHTML(true);
$mail->Subject = ‘Test İleti’;
$mail->msgHTML(file_get_contents(‘contents.html’));

if($mail->send())
{
echo(‘Mesaj gönderildi.’);
}
else
{
echo(‘Mail gönderilemedi.’);
}
?>[/code]

Dosya ekli ileti kullanımı;

[code]<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require ‘PHPMailer/src/Exception.php’;
require ‘PHPMailer/src/PHPMailer.php’;
require ‘PHPMailer/src/SMTP.php’;

$mail = new PHPMailer(true);

$mail->setLanguage(‘tr’);
$mail->CharSet = “utf-8”;

$mail->isSMTP();
$mail->Host = ‘mail.example.com’;
$mail->Port = ‘587’;
$mail->Username = ‘[email protected]’;
$mail->Password = ‘Mail şifresi’;
$mail->SMTPAuth = true;
$mail->SMTPSecure = ‘tls’;

$mail->setFrom(‘[email protected]’,’Example – Admin’);
$mail->addAddress(‘[email protected]’);

$mail->isHTML(true);
$mail->Subject = ‘Test İleti’;
$mail->Body = $ileti;
$mail->addAttachment(‘image.jpg’);

if($mail->send())
{
echo(‘Mesaj gönderildi.’);
}
else
{
echo(‘Mail gönderilemedi.’);
}
?>[/code]

Upload metodu ile dosya ekli ileti kullanımı;

[code]<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require ‘PHPMailer/src/Exception.php’;
require ‘PHPMailer/src/PHPMailer.php’;
require ‘PHPMailer/src/SMTP.php’;

$mail = new PHPMailer(true);

$mail->setLanguage(‘tr’);
$mail->CharSet = “utf-8”;

$mail->isSMTP();
$mail->Host = ‘mail.example.com’;
$mail->Port = ‘587’;
$mail->Username = ‘[email protected]’;
$mail->Password = ‘Mail şifresi’;
$mail->SMTPAuth = true;
$mail->SMTPSecure = ‘tls’;

$mail->setFrom(‘[email protected]’,’Example – Admin’);
$mail->addAddress(‘[email protected]’);

$mail->isHTML(true);
$mail->Subject = ‘Test İleti’;
$mail->Body = $ileti;
$mail->addAttachment($_FILES[‘dosya’][‘tmp_name’]);

if($mail->send())
{
echo(‘Mesaj gönderildi.’);
}
else
{
echo(‘Mail gönderilemedi.’);
}
?>[/code]

Gmail kullanımı;

[code]<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require ‘PHPMailer/src/Exception.php’;
require ‘PHPMailer/src/PHPMailer.php’;
require ‘PHPMailer/src/SMTP.php’;

$mail = new PHPMailer(true);

$mail->setLanguage(‘tr’);
$mail->CharSet = “utf-8”;

$mail->isSMTP();
$mail->Host = ‘smtp.gmail.com’;
$mail->Port = ‘465’;
$mail->Username = ‘[email protected]’;
$mail->Password = ‘Mail şifresi’;
$mail->SMTPAuth = true;
$mail->SMTPSecure = ‘ssl’;

$mail->setFrom(‘[email protected]’,’Example’);
$mail->addAddress(‘[email protected]’);

$mail->isHTML(false);
$mail->Subject = ‘Test İleti’;
$mail->Body = ‘Merhaba, Bu ileti test amaçlı iletilmiştir. Bilginize.’;

try{
if($mail->send()){
echo(‘Mesaj gönderildi.’);
}else{
echo(‘Mail gönderilemedi.’);
}
}catch(Exception $e){
echo(‘Mesaj gönderilemedi. Mailer Hatası: ‘.$mail->ErrorInfo);
}
?>[/code]

Kategoriler
PHP

PHP mail fonksiyonu

PHP ile mail göndermek için mail() fonksiyonu kullanılabilir. Mail fonksiyonu 5 parametre alır. Bunlar: to (alıcı), subject (konu), message (ileti), headers (başlıklar), parameters (ek parametreler)

Mail fonsiyonu şu şekilde kullanılmaktadır;

 

Sade kullanım;

[code]<?php
$kime = ‘[email protected]’;
$konu = ‘Konu’;
$ileti = ‘Merhaba, Bu mail test amaçlı iletilmiştir. Bilginize’;

$mail = @mail($kime, $konu, $ileti);
if($mail)
{
echo(“Mail iletildi.”);
}
else
{
echo(“<pre>”);
print_r(error_get_last());
echo(“</pre>”);
}
?>[/code]

 

Kapsamlı kullanım;

[code]<?php
$kime = ‘[email protected]’;
$konu = ‘Konu’;
$ileti = ‘Merhaba, Bu mail test amaçlı iletilmiştir. Bilginize’;
$header = ‘Content-Type: text/plain; charset=utf-8’ . “\r\n” .
‘From: [email protected]’ . “\r\n” .
‘Reply-To: [email protected]’ . “\r\n” .
‘X-Mailer: PHP/’ . phpversion();

$mail = @mail($kime, $konu, $ileti, $header);
if($mail)
{
echo(“Mail iletildi.”);
}
else
{
echo(“<pre>”);
print_r(error_get_last());
echo(“</pre>”);
}
?>[/code]

Kategoriler
PHP

PHP ile veritabanı bağlantısı (PDO)

PHP ile veri tabanına bağlantının bir başka yöntemi PDO eklenti kullanmaktır. PDO eklentisi ile mysql, mssql vb. veritabanlarına bağlanılabilir. PDO ile mysql bağlantısı şu şekildedir;

[code]<?php
$baglanti = new PDO(“mysql:dbname=ikwhois;host=127.0.0.1″,”root”,””);
$sorgu = $baglanti->query(“SELECT * FROM domainler”);
if($sorgu->rowCount()>0)
{
foreach($sorgu->fetchAll() as $fetch)
{
echo(‘<div>’.$fetch[“ID”].'</div>’);
}
}
else
{
echo(‘Kayıt yok.’);
}
?>[/code]

try-catch ile kullanım;

[code]<?php
try
{
$baglanti = new PDO(“mysql:dbname=ikwhois;host=127.0.0.1″,”root”,””);
}
catch(PDOException $e)
{
echo(‘Hata: ‘.$e->getMessage());
}
?>[/code]

try-catch ile kullanım, eğer bağlantı hata verirse hata detayı düzgün bir şekilde çıktılar.

Kategoriler
PHP

PHP ile veritabanı sorgulama (MySQLi)

PHP ile veritabanı sorgulama için veritabanı eklentilerinden biri olan MySQLi kullanılabilir. MySQLi veritabanı sorgulama kodu şu şekildedir;

 

Nesne yönelimli kullanım;
[code]<?php
$mysqli = new mysqli(“localhost”, “root”, “”, “ikwhois”);

$domainler = $mysqli->query(“SELECT * FROM domainler”);
if($domainler->num_rows>0)
{
while($domain=$domainler->fetch_array())
{
echo(‘<div>’.$domain[“ID”].'</div>’);
}
}
else
{
echo(‘Kayıt yok.’);
}

$mysqli->close();
?>[/code]

Yordamsal kullanım;
[code]<?php
$mysqli_connect = mysqli_connect(“localhost”, “root”, “”, “ikwhois”);

$domainler = mysqli_query($mysqli_connect,”SELECT * FROM domainler”);
if(mysqli_num_rows($domainler)>0)
{
while($domain=mysqli_fetch_array($domainler))
{
echo(‘<div>’.$domain[“ID”].'</div>’);
}
}
else
{
echo(‘Kayıt yok.’);
}

mysqli_close($mysqli_connect);
?>[/code]

Kategoriler
PHP

PHP ile veritabanı bağlantısı (MySQLi)

PHP’de veritabanı bağlantısı, php veritabanı eklentileri ile yapılmaktadır. Bu eklentilerden bir tanesi MySQLi’dir. MySQLi, MySQL veritabanına bağlantı sağlamak için kullanılan eklentidir. MySQLi, nesne yönelimli ve yordamsal olarak iki tür kullanımı vardır. Genelde nesne yönelimli olarak kullanılır. MySQLi kullanımı şu şekildedir;

 

Nesne yönelimli kullanım;
[code]<?php
$mysqli = new mysqli(“localhost”, “root”, “”, “ikweb”);

// *****

$mysqli->close();
?>[/code]

Yordamsal kullanım;
[code]<?php
$mysqli_connect = mysqli_connect(“localhost”, “root”, “”, “ikweb”);

// *****

mysqli_close($mysqli_connect);
?>[/code]

Kategoriler
PHP

PHP ile veritabanında benzersiz id oluşturmak

Veritabanındaki verilere erişmek için benzersiz id kullanırız. Genelde bu id veri her insert edildiğinde bir önceki id’nin bir fazlası olarak tanımlanır. Peki id’yi biz belirleyemez miyiz? Tabi ki belirleriz. Bir id oluşturup bu id’yi veri tabanında sorgularız. Eğer kayıt yoksa id benzersiz olmuş olur. Var ise başka bir id belirleyip tekrar sorgularız.

PHP ile benzersiz id oluşturmak için bu kodu kullanabilirsiniz;

[code]<?php
function ID()
{
global $mysqli;
$min = 1111;
$max = 9999;
do
{
$id = mt_rand($min,$max);
$siparisler = $mysqli->query(“SELECT id FROM siparisler WHERE id = $id”);
}
while($siparisler->num_rows>0);
return($id);
}
echo ID();
?>[/code]