merhaba arkadaşlar.

artık php programlama dili ile istediğimiz her türlü uygulamayı yapabilecek bilgiye sahibip olduk.

bu yazımda da basit bir hesap makinası yapacağız.

bu hesap makinamız sadece 4 işlem yapma yeteneyine sahip olacak.

form kısmını html ile yapacağız verileri işleyen ve hesaplamayı yapan kısım ise php ile hazırlanacak.

tüm kodları tek bir sayfada toplayalım.

hesapla.php adında bir dosya oluşturalım.

 

php kod:

 

<?php
error_reporting(0);
// Hatalar gizlensin.
$x = $_POST['islem'];
// name degeri islem olan inputumuzun değerini POST methodu ile alıyoruz.
// Verimizi X adında bir değişkene atıyoruz.
function hesapla($degerler)
{
$degerler = preg_replace("/[^0-9+\-.x\/()%]/","",$degerler);
$degerler = preg_replace("/([+-])([0-9]{1})(%)/","*(1\$1.0\$2)",$degerler);
$degerler = preg_replace("/([+-])([0-9]+)(%)/","*(1\$1.\$2)",$degerler);
$degerler = preg_replace("/([0-9]+)(%)/",".\$1",$degerler);
$degerler = preg_replace("/x/","*",$degerler);
// preg_replace() fonksiyonu ile sadece kullanacağımız karakterlere izin verdik.
if ($degerler == "" OR $degerler == NULL)
{
$returnHata = "hata";
return $returnHata;
// Hata izin verdiğimiz karakterlerin dışında karakter olursa boş olarak gözükecek.
// Bu durumda degerler boş ise hata mesajımızı yazdırıyoruz.
}else{
eval("\$return=" . $degerler . ";" );
}
// eval(); fonksiyonu ile string ifademizin PHP kodu olarak yorumlanmasını sağladık.
if(strlen($return) >= 4) {
$ayirma = number_format($return, 0, '', '.');
return $ayirma;
}else{
return var_dump($return);
}
// Girilen karakter sayısı 4 den büyükse number_format(); fonksiyonu ile ayırıp, değeri döndürüyoruz.
// Girilen karakter sayısı 4 den küçük ise return değişkenini döndürüyoruz.
}
Echo hesapla($x);
// Sonuç
>?

evet arkadaşlar kodlarımız bu kadar hesap makinamız hazırdır.

iyi bloglamalar herkese.

Bir önceki yazımız olan php-tırnak işareti sorunu başlıklı makalemizde hp, php 4.0 ve php güvenliği hakkında bilgiler verilmektedir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir