v2.5.2
Giriş yap

Anlık Listeleme de post işlemi yaptıramıyorum

emmir2
305 defa görüntülendi

Bu şekilde anlık olarak verileri listeletiyorum onay formum lakin çalışmıyor

 <div class="card-body">
    <div class="table-responsive">
        <div id="listeleme"></div>
    </div>
</div>
$(document).ready(function() {
   $("#listeleme").load("ajax/veriler.php");
});

setInterval(function() {$("#listeleme").load('ajax/veriler.php');}, 1000);
<?php if ($row['admin_onay'] == 0){ ?>
<td>
   <form method="POST">
      <div class="col-md-12">
   <button type="submit" name="sipal" class="btn btn-primary">Onayla</button>
       </div>
  </form>
   <?php if (isset($_POST['sipal'])) {
   $islem = $db->prepare("UPDATE kurye_talebi SET  admin_onay = ? WHERE id = ?");
   $islem = $islem->execute(array(1,$row['id']));
   if ($islem) {
   }else{
   }
   }
?>
</td>
                                                  
<?php }else{ ?>
munzevi
973 gün önce

evet gerekiyor. ancak get'in post'dan farkı illa parametre olması gerekmez. burayı ele alalım, prototurk.com sayfasını ziyaret ettiğinde bir get yani istekte bulunmuş olursun. bunu yaparken bir veri göndermen gerekmiyor yani. hatana gelirsek, çözümü bulmana rağmen tekrar hata değinmek istiyorum kafa şişirmeyeceksem eğer. kodun ne yaptığını bilmekten ziyade, nasıl çalıştığını bilmek daha iyidir.

site.com adresinde bir load çalıştırdın ve site.com/sayfa.php adresinden veri aldın. buradan ne alabilirsin? sadece istemci tarafından gözükenleri alabilirsin yani verilen yanıtı. sen ise, orada sunucu koşulu oluşturup dahil etmeye çalışıyorsun. php de bulunan include gibi, ama bu mümkün değil. bu yüzden post koşulun çalışmadı. çünkü site.com'un index'inde sunucu da öyle bir koşul hiç olmadı istemci tarafından dahil etmek istediğin için.

yapıya gelirsek eğer, ilk koşulun admin onayının sıfıra eşit olması, örneğin bunu basit bir ajax işlemi ile yapıyor olsaydım, post veya get isteğinde bulunurdum ve sadece admin_onay değerini alırdım, 0 ise javascript ile formu gösterebilir veya sıfırdan oluşturabilirdim. kendini zorlamanı tavsiye ederim. acil bir iş değil ise eğer yazdıktan sonra çalıştır sonra durup düşün nasıl daha sistemli ve iyi olur diye. bende senin gibi kod yazıyordum, samimi söylüyorum bu şekilde yazmaya devam edersen ilerleme katedemezsin.

basit bir örnek, üstelik index dosyası php bile değil;

index.html

<html>
    <head>
        <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    </head>
    <body>
         <div class="card-body">
             <div class="table-responsive">
                 <div id="listeleme">
                     <form style="display:none">
                         <div class="col-md-12">
                             <button type="button" name="sipal" class="btn btn-primary">Onayla</button>
                         </div>
                     </form>
                 </div>
             </div>
        </div>
    </body>
    <script>
        $(document).ready(function() {
            $.ajax({
                url : 'test.php',
                type: 'GET',
                data: null
            }).done(function (data){
                if(data == 0){
                    $('form').show()
                }else{
                    $('#listeleme').text('Yetkilendirme Başarısız!');
                }
            });
            $('[name="sipal"]').click(function(){
                $.ajax({
                    url : 'test.php',
                    type: 'POST',
                    data: "sipal=true"
                }).done(function (data){
                    $('form').hide();
                    $('#listeleme').append(data);
                });
            });
        });
    </script>
</html>

post dosyası olan test.php

$row['admin_onay'] = 0;
$islem = array(
    0 => ["siparis_id" => 1,  "kurye" => "Burak"],
    1 => ["siparis_id" => 22, "kurye" => "Ali"],
    2 => ["siparis_id" => 35, "kurye" => "Ali"],
    3 => ["siparis_id" => 47, "kurye" => "Burak"]
);
if(!isset($_POST)){
    echo $row['admin_onay'];
}else{
    if(isset($_POST['sipal'])){
        foreach($islem as $key => $val){
            echo "Siparis numarası: ".$val["siparis_id"]." Kurye: ".$val["kurye"]."<br>";
        }
    }
}