Jquery ile birden fazla oluşturulmuş inputu veri tabanına kayıt ettirmek
<?php
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var cnt = 2;
$(".addCF").click(function(){
$("#westarz").append('<tr><td><input type="text" name="altmenu'+cnt+'[menu]" class="form-control" placeholder=""></td><td><a href="nojavascript...void(0);" class="remCF">Sil</a></td></tr>');
cnt++;
});
$("#westarz").on('click','.remCF',function(){
if (confirm("Silmek istediğinizden emin misiniz?"))
{
$(this).parent().parent().remove();
}
});
});
</script>
</script>
<body>
<form action="" method="POST">
<table border="0" id="westarz">
<tr>
<td> <input type="text" name="altmenu[menu]" class="form-control" placeholder=""></td>
<td><a href="nojavascript...void(0);" class="addCF">Ekle</a></td>
</tr>
</table>
<button type="submit">Kayıt Et</button>
</form>
</body>
if($_POST){
Devamı gelmiyor ne yapsam array olarak veritabanına ekliyor
}
?>
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
input'lara verdiğin name
niteliğin hatalı. eğer multiple değer göndermek istiyorsan isim[]
şeklinde tanım yapmalısın. Örneğin;
<form action="" method="post">
<input type="text" name="ad[]" placeholder="Ad 1"> <br>
<input type="text" name="ad[]" placeholder="Ad 2"> <br>
<input type="text" name="ad[]" placeholder="Ad 3"> <br>
<button type="submit">Gönder</button>
</form>
<?php
if (isset($_POST['ad'])){
print_r($_POST['ad']); // girilen tüm ad[] input değerleri
}
?>
Bu örnekte elbette inputları ben kendim oluşturdum ancak mantık aynı, jquery ilede inputları oluştururken bu şekilde oluşturup gönderirsen değerleri dizi olarak alıp istediğin gibi işlem yapabilirsin, yani önce php tarafında mantığı kavraman gerekiyor probleminin jquery ile alakası yok.