@jaygen

Обработка формы в php с неизвестными переменными?

<div class="col-sm-4">
                        <form action="/admin/add" method="post">
                            <div class="form-group">
                                <label>Название</label>
                                <input class="form-control" type="text" name="name">
                            </div>
                            <div class="form-group">
                                <label>Описание</label>
                                <input class="form-control" type="text" name="description">
                            </div>
                            <div class="form-group">
                                <label>Текст</label>
                                <textarea class="form-control" rows="3" name="text"></textarea>
                            </div>
                            <div id="sf" class="form-group">
                               <div data-mebel='1'><input type='text' name='mebel1' value="Диван" />
                                    <input type='text' name='col1' value="5 штук" />
                                    <input type='text' name='tkan1_1'  value="Флок 10"/>
                                    <input type='text' name='dlina1_1' value="10м" />
                                </div>
                            </div>
                            <input type="submit" class="btn btn-primary btn-block" value="Добавить">
                        </form>
                        <button id='addtkan'>+</button>
<button id='deletetkan'>-</button>
<button id='addmebel'>+mebel</button>
<button id='deletemebel'>-mebel</button>
                    </div>

$(document).ready(function() {
	$('form').submit(function(event) {
		var json;
		event.preventDefault();
		$.ajax({
			type: $(this).attr('method'),
			url: $(this).attr('action'),
			data: new FormData(this),
			contentType: false,
			cache: false,
			processData: false,
			success: function(result) {
				json = jQuery.parseJSON(result);
				if (json.url) {
					window.location.href = '/' + json.url;
				} else {
				   /* $('form').trigger("reset");
				    $('form').toggle();*/
					alert(json.status + ' - ' + json.message);
				}
			},
		});
	});
});
var mebelid=1;
var colid=1;
var tkanid=1;
var tkanid_id=1;
var dlinaid=1;
var dlinad_id=1;
var idmebel=1;
$('#addtkan').click(function(){
tkanid_id++;
dlinad_id++;
$("[data-mebel='"+idmebel+"']").append("<input type='text' name='tkan"+tkanid+"_"+tkanid_id+"' /><input type='text' name='dlina"+dlinaid+"_"+dlinad_id+"' />");
});
$('#deletetkan').click(function(){
$("input[name='tkan"+tkanid+"_"+tkanid_id+"']").remove();
$("input[name='dlina"+dlinaid+"_"+dlinad_id+"']").remove();
tkanid_id--;
dlinad_id--;
});
$('#addmebel').click(function(){
mebelid++
idmebel++
tkanid++;
dlinaid++;
$('#sf').append("<div data-mebel='"+idmebel+"'><input type='text' name='mebel"+mebelid+"' /><input type='text' name='col"+mebelid+"' /><input type='text' name='tkan"+tkanid+"_"+tkanid_id+"' /><input type='text' name='dlina"+dlinaid+"_"+dlinad_id+"'' /></div>");
});
$('#deletemebel').click(function(){
$("[data-mebel='"+idmebel+"']").remove();
idmebel--
tkanid_id--;
dlinad_id--;
});

Подскажите пожалуйста как на стороне php обработать данную динамическую форму
да но если учесть что например структура такая
ячейка мебель-> может быть несколько видов тканей
мебель->Ткань1->длина 10м
Ткань2>длина 5м
мебель2->Ткань4->длина 4м
Ткань20>длина 1м
как в таком случае обработать данные переменные что бы в бд правильно записать
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 2
@zkrvndm
Софт для автоматизации
В массиве $_POST будут лежать все переданные переменные, вы можете спокойно их перебрать через foreach()
Ответ написан
Комментировать
Вызываете var_dump от массивов $_POST $_GET (или можно заменить одним $_REQUEST) и смотрите что там где и как. То есть увидите пути к нужным ключам массива, а далее уже в скрипте смотрите как и к какому обратиться.

То есть var_dump($_REQUEST);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы