• 10-10-2013, 16:59:50
    #1
    Merhaba yeni yeni php öğreniyorum. Kendimi deneme amaçlı bir örnek yaptım ama hata alıyorum ve hatayı bulamıyorum. Örnek şu: Kullanıcıdan maaş girmesini istiyor tl ye çevirip eğer maaş $20000 üzerinde ise %35 vergi uyguluyor değilse uygulamıyor sadece tl ye çeviriyor.

    Sorunum, if kısmında $cevir isimli değişken hatasız çalışırken else kısmında çalışmıyor. Yardımcı olacaklara şimdiden teşekkür ediyorum.

    Hata resmi:

    Html Form:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
    	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    	<title>MAAŞ SORGULA</title>
        <style type="text/css"> 
    body {background:grey; font:24px; Calibri;}
    
    	</style>
    	
    	
    	
    	
    	</head>
    <body>
    	
    	<form action="maas.php" method="post" ><br>
    	Maaşınızı girin:<input type="text" name="maas"><br>
    	<input type="submit" value="Sorgula">
    	</form>
    	
    	
    	
    	
    </body>
    </html>
    Php:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
    	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    	<title>MAAŞ</title>
    	 <style type="text/css"> 
    body {background:grey; font:24px}
    
    	</style>
    	
    </head>
    <body>
    	<?php
    	
    	$maas= $_POST['maas'];
    	
    	if ($maas>20000) {
    	
    	
    	$cevir= ($maas*1.98);
    	$kesinti=($cevir*0.35);
    	$kalan= ($cevir-$kesinti);
    	
        echo $maas. " $ olan kazancın " .$cevir. " TL değerindedir.. <br><br> Bu nedenle " .$kesinti. " vergi ödeyeceksin ve sana kalan tutar ".$kalan." TL olacaktır.";	
    	} else {
    	
    	echo "Kazancın ".$maas. " $ bu nedenle kesinti yapılmayacak..<br><br>" .$maas." $".$cevir." TL dir..";
         
    	
    	}
    	
    	
    	
    	
    	?>
    </body>
    </html>
  • 10-10-2013, 17:08:45
    #2
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> 
        <title>MAAŞ</title> 
         <style type="text/css">  
    body {background:grey; font:24px} 
    
        </style> 
         
    </head> 
    <body> 
        <?php 
         
        $maas= $_POST['maas']; 
         
        if ($maas>20000) { 
         
         
        $cevir= ($maas*1.98); 
        $kesinti=($cevir*0.35); 
        $kalan= ($cevir-$kesinti); 
         
        echo $maas. " $ olan kazancın " .$cevir. " TL değerindedir.. <br><br> Bu nedenle " .$kesinti. " vergi ödeyeceksin ve sana kalan tutar ".$kalan." TL olacaktır.";     
        } else { 
         
        echo "Kazancın ".$maas." $ bu nedenle kesinti yapılmayacak..<br><br>".$maas." $".$cevir." TL dir.."; 
          
         
        } 
         
         
         
         
        ?> 
    </body> 
    </html>
    böyle dene
  • 10-10-2013, 17:09:14
    #3
    else{
    ..
    }

    Bu kısımda $cevir adlı değişken tanımlanmamış.
  • 10-10-2013, 17:11:41
    #4
    msgr adlı üyeden alıntı: mesajı görüntüle
    else{
    ..
    }

    Bu kısımda $cevir adlı değişken tanımlanmamış.
    Teşekkürler çözüldü, fakat anlamadığım birşey var o kısımda $maas da tanımlı değil ama onu alıyor.
  • 10-10-2013, 17:13:22
    #5
    zeamays adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler çözüldü, fakat anlamadığım birşey var o kısımda $maas da tanımlı değil ama onu alıyor.
    $maas değişkenini if koşulundan önce tanımladığınız için if(..) bu alanda da else{..} bu alanda da varlık gösterebilir.
  • 10-10-2013, 17:14:24
    #6
    zeamays adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler çözüldü, fakat anlamadığım birşey var o kısımda $maas da tanımlı değil ama onu alıyor.
    maaş değişkenini hepsi için tanımlamışsınız ama çevir değişkenini sadece if için tanımlamışsınız. sorun bundan kaynaklı.
  • 10-10-2013, 17:15:04
    #7
    Acemilik işte çok teşekkürler cevaplarınız için.
  • 10-10-2013, 17:17:35
    #8
    zeamays adlı üyeden alıntı: mesajı görüntüle
    Acemilik işte çok teşekkürler cevaplarınız için.
    bu kategoride elimden geldiğince ve boş vaktim oldukça yardımcı olmaya çalışıyorum. başka bir hata vs sorunuz olduğunda bu kategoride çözüm ararsanız kolaylıkla benden yada diğer arkadaşlardan yardım bulabilirsiniz.