PHP POST Methodu İle Hesap Makinesi Yapımı

Merhabalar, geometri ödevimi “programlama ile hesap makinesi” olarak seçtim. İnternette örnekleri incelediğim de istediğim tarzda yapılmışını bulamadım. Tek bir input içine yazılan veriler ile işlem yapmak istedim. Sonuçta PHP nin zaten matematik işlemleri için bir esnekliği var bir de neden biz çarpma, toplama, çıkarma.. şeklinde seçip işlem yaptıralım ?

Bu yüzden tek bir input a değerleri girdim. Fakat PHP ifadeyi string olarak aldıladı. Bunu eval(); fonksiyonu ile çözdüm. Ben bunu Ajax kullanarak tamamlayacağım. Siz istediğiniz gibi kullanırsınız.

Çarpma : x

Toplama : +

Çıkarma :

Bölme: /

Demo : www.mkoseoglu.com/hesap

	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\.0\)",$degerler);
	$degerler = preg_replace("/([+-])([0-9]+)(%)/","*(1\.\)",$degerler);
	$degerler = preg_replace("/([0-9]+)(%)/",".\",$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ç

2 thoughts on “PHP POST Methodu İle Hesap Makinesi Yapımı

Bir cevap yazın

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.