• 03-12-2020, 15:03:15
    #1
    Merhabalar, PHP bir sayfada basit bir hesaplama işlemi yaptırmak için profesyonel olmayan bir kod yazdım ve sidebara ekledim. Normal hesaplama şeklinde bir kod. 2 tane form var ve buralara girilen verilere göre submit butonu ile hesaplama yapıyor ve sonucu aynı formda alt satıra yazıyor.
    Ancak sorun şu. "Hesapla" dediğim zaman sayfayı refresh ederek eklentinin bulunduğu php sayfasını tekrar yüklüyor ve sonucu getiriyor.
    Forma girilen verilere göre hesapla dedikten sonra sayfayı yenilemeden, sadece hesaplamayı yapıp alttaki kutucuğa sonucu nasıl yazdırabiliriz acaba. Yardımcı olursanız sevinirim.

    <?php?>
    <!DOCTYPE html><html><head>
    
    <style>  .kutu{    background-color: white;    width: 150px;    height: 23px;    border: 1px solid black;    margin: 10px;    color: black;  } </style>
    <style>  .kutu1{    background-color: white;    width: 150px;    height:300px;    border: 1px solid black;    margin: 10px;    color: black;  } </style>
    <meta charset="utf-8"></head>
    <body bgcolor="whitesmoke">
    <form method="post" action=""><center> <p><h2 style="color:#30793F">VÜCUT KÜTLE ENDEKSİ<br> HESAPLAMA ARACI</h2></p> <table width="10%" align="center">
    <tr> <td width="50">Boyunuz: (Cm)</td><td><input type="number" name="boy" placeholder="Boyunuzu giriniz" required maxlength="3" minlength="2"></td></tr> <tr> <td width="50">Kilonuz: (Kg)</td><td><input type="number" name="kilo" placeholder="Kilonuzu giriniz" required maxlength="3" minlength="2"></td></tr><tr>  
    <center><tr><td width="50"></td><td><input type="submit" value="Hesapla"></td></tr></center><br>
    </table><br> </form>  
    
    </body> </html>
    <?php
      if ($_POST) {
    
    $kilo=$_POST["kilo"];$boy=$_POST["boy"]; $boykare=$boy*$boy/10000; $sonuc=$kilo/$boykare;
    $metin1="Vücut kilo endeksiniz";$metin2="Kilonuz standardın altında. Diyetisyen eşliğinde sağlıklı bir şekilde kilo almanız önerilir.";$metin3="Kilonuz normal. Bu şekilde devam etmeniz önerilir.";$metin4="Kilonuz biraz fazla. Diyetisyen eşliğinde sağlıklı bir şekilde kilo vermeniz önerilir.";$metin5="Kilonuz fazla. Birinci derece obez kategorisindesiniz. Diyetisyen eşliğinde sağlıklı bir şekilde kilo vermeniz önerilir.";$metin6="Kilonuz epey fazla. İkinci derece obez kategorisindesiniz. Kalp ve damar hastalıkları riskiniz var. Diyetisyen eşliğinde sağlıklı bir şekilde kilo vermeniz önerilir.";$metin7="Kilonuz çok çok fazla. Üçüncü derece obez kategorisindesiniz. Ciddi rahatsızlıkların gelişme riski bulunmakta. Diyetisyen eşliğinde acilen kilo vermeniz önerilir.";
    
    if($sonuc<18.5)
      {echo $metin1.'<div class="kutu">'.$sonuc.'</div>'.'<div class="kutu1">'.$metin2.'</div>'; }
    else{if (18.5<=$sonuc && $sonuc<25)
      {echo $metin1.'<div class="kutu">'.$sonuc.'</div>'.'<div class="kutu1">'.$metin3.'</div>'; }
    else{if (25<=$sonuc && $sonuc<30)
      {echo $metin1.'<div class="kutu">'.$sonuc.'</div>'.'<div class="kutu1">'.$metin4.'</div>'; }  
    else{if (30<=$sonuc && $sonuc<35)
      {echo $metin1.'<div class="kutu">'.$sonuc.'</div>'.'<div class="kutu1">'.$metin5.'</div>'; }
    else{if (35<=$sonuc && $sonuc<45)
      {echo $metin1.'<div class="kutu">'.$sonuc.'</div>'.'<div class="kutu1">'.$metin6.'</div>'; }
    else{if (45<=$sonuc)
      {echo $metin1.'<div class="kutu">'.$sonuc.'</div>'.'<div class="kutu1">'.$metin7.'</div>'; }
      else {echo "Kütle indexinizi hesaplayamadım";}}}}}}
    
    }
    ?>
  • 03-12-2020, 15:05:36
    #2
    Bunun için jQuery Ajax kullanabilirsiniz.
  • 03-12-2020, 15:06:05
    #3
    Sayfayı hiç yenilemeden hesapla butonuna tıklandığı an yazmasını istiyorsanız ajax kullanabilirsiniz fakat hesaplama gibi bir işlemi ajaxsız jquery ile de yapabilirsiniz sayfa yenilemeden
  • 03-12-2020, 15:07:45
    #4
    Ajax query bilmiyorum. Biraz araştırmam gerek sanırım. Teşekkür ediyorum ilginize.
  • 03-12-2020, 15:16:12
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    mousolos adlı üyeden alıntı: mesajı görüntüle
    Ajax query bilmiyorum. Biraz araştırmam gerek sanırım. Teşekkür ediyorum ilginize.
    bunu jquery olmadan öğrenirseniz daha faydalı olur sizin için. fetch api ile
  • 03-12-2020, 15:23:31
    #6
    yukarıdaki kodu jquery veya fetch api ile harmanlayabilecek bir arkadaş var mı acaba?
  • 03-12-2020, 19:00:50
    #8
    Teşekkür ederim. Çok makbule geçti.