Tam olarak burada çözemedim hocam. Biraz karmaşık bir durum olduğu için sürekli farklı sonuçlar veriyordu.
Şu şekilde bir denermisiniz kendim yazmadım kodu.
<form method="post" action="form_handler.php">
<div id="dynamic-fields">
<div class="field">
<input type="text" name="title[]" placeholder="Title">
<input type="text" name="url[]" placeholder="URL">
<input type="text" name="icon[]" placeholder="Icon">
<button type="button" class="remove-field">Remove</button>
</div>
</div>
<button type="button" id="add-field">Add Field</button>
<input type="submit" value="Submit">
</form><script>
document.addEventListener('DOMContentLoaded', function() {
const dynamicFields = document.getElementById('dynamic-fields');
const addFieldButton = document.getElementById('add-field');
addFieldButton.addEventListener('click', function() {
const field = dynamicFields.querySelector('.field').cloneNode(true);
dynamicFields.appendChild(field);
});
dynamicFields.addEventListener('click', function(event) {
if (event.target && event.target.className === 'remove-field') {
event.target.parentElement.remove();
}
});
});
</script>$titles = $_POST['title'];
$urls = $_POST['url'];
$icons = $_POST['icon'];
$combinedArray = [];
for ($i = 0; $i < count($titles); $i++) {
$combinedArray[] = [
"title" => $titles[$i],
"url" => $urls[$i],
"icon" => $icons[$i]
];
}
print_r($combinedArray);
Bu tam olarak istediğim gibi olmadı hocam. Ellerinize sağlık. JS tarafına her eklenen inputa otomatik olarak sayı ekleyen bir dizi ekledim name="data[1][title]" şeklinde oldu. 1 2 3 4 şeklinde gidiyor ekledikçe. PHP tarafına gönderdiğimde data array'inden istediğim şekilde alabildim.