v2.5.2
Giriş yap

Buton Çalışmaması.

nahic2525
296 defa görüntülendi ve 1 kişi tarafından değerlendirildi
   <form id="telefonform<?php echo $m['telefon_id'];?>" method="POST">


     
    <div id="mailonay<?php echo $m['telefon_id'];?>" class="form-group">
    <label  class="form-label">E-Posta Adresi</label>
    <input id="oymails" type="hidden" name="oy">
    <input type="email"  name="eposta" class="form-control" aria-describedby="emailHelp">
    <div  class="form-text">Geçerli Bir E-Posta Adresi Giriniz.</div>
    </div>

 
    <div id="onaykodu<?php echo $m['telefon_id'];?>" class="form-group">
    <label  class="form-label">Onay Kodunuz</label>
    <input type="text"   name="onay" class="form-control" >
    <input type="hidden"   name="onaykodu" class="form-control" >
    <div  class="form-text">4 Haneli Onay Kodunuzu Giriniz.</div>
    </div>

    <button id="mailgonderbuton<?php echo $m['telefon_id'];?>" type="submit" class="btn btn-primary mt-3">Kod Gönder</button>
    <button id="dogrulamakodbuton<?php echo $m['telefon_id'];?>" type="submit" class="btn btn-success mt-3">Anketi Onayla</button>

    </form> 

 <script>

$(document).ready(function(){


  $("#onaykodu<?php echo $m['telefon_id']; ?>").hide();
  $("#dogrulamakodbuton<?php echo $m['telefon_id']; ?>").hide();

});


$("#telefonform<?php echo $m['telefon_id'];?>").on('submit',(function(e){

$.ajax({
url:"islem.php",
type:"POST",
dataType:"json",
data:new FormData(this),
contentType:false,
cache:false,
processData:false,
success: function(data){

  
  veri=(data);
  console.log(data);
    swal("Bilgi",veri.message,veri.status)

    if(veri.islemno=="1"){

  $("#oymails").attr('disabled');
  $("#mailonay<?php echo $m['telefon_id']; ?>").hide();
  $("#mailonay<?php echo $m['telefon_id']; ?>").remove();
  $("#mailgonderbuton<?php echo $m['telefon_id']; ?>").hide();
  $("#dogrulamakodbuton<?php echo $m['telefon_id']; ?>").show();
  $("#onaykodu<?php echo $m['telefon_id']; ?>").show();

}else{

  
}

}

});
return false;

}));



                </script>

ilk form başarılı bir şekilde dönüyor fakat ikinci formda yani ID'si onaykodu olan formda Anketi Onayla Butonu tıkladığımda hiç bir cevap alamıyorum sebebi nedir ?

ıd'si onay kodu olan formun karşı tarafta yani islem.php'de dönen tarafı burası.

 if($_POST['onaykodu']){

$onay = $_POST['onay'];

$data['status']="success";
$data['message']="başarılı";
echo json_encode($data); 
}
ebykdrms
544 gün önce

<input type="hidden" name="onaykodu" class="form-control">
bu input'un type'ı hidden olduğu için aslında hiç ekranda görünmüyor olmalı. İlk ajax isteğinden dönen sonuçta bu input'un içine bir değer atamıyor olabilirsin.
Eğer bu input'un değeri yoksa, post edilirken boş string olarak PHP'ye iletiliyordur.
Böylece islem.php dosyandaki if koşulun PHP için boş string kontrolüne dönüyor.
Yani if($_POST['onaykodu']) { => if("") { oluyor.
PHP için if koşulunda boş string ifadesi false kabul edilir. Yani bu bloğa hiç giremiyor olabilirsin.
Bunu anlamak için if bloğuna bir else ekleyip yanıt olarak şunu dönebilirsin:

else {
    $data['status']="missing parameter";
    $data['message']="onaykodu şu şekilde iletildi: '".$_POST['onaykodu']."'.";
}

istek attığında konsolunda aşağıdaki gibi bir response görüyorsan sorun bu demektir.

{
    "status": "missing parameter",
    "message: "onay kodu şu şekilde iletildi: ''."
}

Eğer durum buysa, onaykodu input'una değer ataman gerekiyordur.