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]