Php scriptine entegre etmek isteyenler için; en basit şekliyle telefon onayı yapımını göstereceğim. Takıldığınız yer olursa yazın yardım ederim.
Gerekli olanlar:
API desteği olan bir SMS firması. Ben NETGSM kullanıyorum. Örnekteki API'de ona ait.
Header'ın en başına ob_start(); kodunu mutlaka eklemelisiniz. WP'de yada joomla'da kullanacaksanız eklemeyin.
<form action"?tel=1" method="post">
<input type="text" name="tel" placeholder="Telefonunuzu girin!"><br>
<button type="submit">Telefon Ekle!</button>
</form>
<?php if($_GET['tel'] === 1){ ?>
<?php
function sendsms($msg, $telno, $header)
{
$username= "KullanıcıAdı"; // Firmanız verecek
$pass= "Sifre"; // Firmanız verecek
$startdate=date('d.m.Y H:i');
$startdate=str_replace('.', '',$startdate );
$startdate=str_replace(':', '',$startdate);
$startdate=str_replace(' ', '',$startdate);
$stopdate=date('d.m.Y H:i', strtotime('+1 day'));
$stopdate=str_replace('.', '',$stopdate );
$stopdate=str_replace(':', '',$stopdate);
$stopdate=str_replace(' ', '',$stopdate);
$url="http://api.netgsm.com.tr/bulkhttppost.asp?usercode=$username&password=$pass&gsmno=$telno&message=$msg&msgheader=$header&startdate=$startdate&stopdate=$stopdate";
//echo $url;
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
// curl_setopt($ch,CURLOPT_HEADER, false);
$output=curl_exec($ch);
curl_close($ch);
return $output;
}
$mesajKodu = rand(1,999999);
$mesaj = 'Merhaba, onay kodunuz: '.$mesajKodu.'';
$tel = $_POST['tel'];
$baslik = 'Mesaj Baslik'; // Firmanızın verdiği başlığı gireceksiniz buraya
echo sendsms($mesaj, $tel, $baslik);
?>
<form action="?tel=2" method="post">
<input type="text" name="tel" value="<?php echo $_POST['tel']; ?>"><br>
<input type="text" name="kod" value="<?php echo $mesajKodu; ?>"><br>
<input type="hidden" name="kod2" value="<?php echo md5($mesajKodu); ?>">
<button type="submit">Telefonumu Onayla!</button>
</form>
<?php }elseif($_GET['tel'] === 2){ ?>
<?php if(md5($kod) === md5($kod2)){
Header('Location: ?tel=3');
// Buraya veritabanı güncelleme bağlantısı gelebilir.
// Burası kodun doğru olduğunu gösterir.
}else{
Header('Location: ?tel=3?hatali=1');
// Bu, hatalı durumlarda gözükür.
}
?>
<?php }elseif($_GET['tel'] === 3){ ?>
<?php if($hatali){ ?>
Girdiğiniz onay kodu hatalı!
<?php }else{ ?>
Başarıyla telefonunuzu onayladınız.
<?php } ?>
<?php } ?>Kolay gelsin.