отправка динамической формы на сервер
Добрый день! Подскажите пожалуйста как отправить данные формы, созданной в JS, на сервер?
Пример: // form.html (создание формы) <body></body> <script> var frm = document.createElement('form'); frm.method = "post"; frm.action = "form.php"; document.body.appendChild(frm); var inp = []; var inp[0] = document.createElement('input'); inp[0].name = "inp_0"; inp[0].value = "value"; frm.appendChild(inp[0]); var inp[1] = document.createElement('input'); inp[1].name = "inp_1"; inp[1].type = "submit"; frm.appendChild(inp[1]); </script> // form.php (получение данных из формы) <?php for ($i=0; $i<count($_REQUEST); $i++) { echo("REQUEST[$i] = $_REQUEST[$i]<br>"); } ?> ------------------------------ в php-файле массив $_REQUEST пустой (т.е. в браузере получается следующая строка: "REQUEST = " вместо желаемой "REQUEST = value". подскажите пожалуйста, где ошибка? |
Потому, что это
for ($i=0; $i<count($_REQUEST); $i++) { echo("REQUEST[$i] = $_REQUEST[$i]<br>"); } полнейшая чушь. Данные отправленные формой можно и в $_REQUEST забрать, как $_REQUEST['inp_1'], а можно и нужно в $_POST['inp_1'], коим методом они и были отправлены. |
Действительно, если поставить $_POST вместо $_REQUEST и по отдельности (не массивом $_POST[$i], а к каждому элементу отдельно $_POST['inp_1'], $_POST['inp_2'], $_POST['inp_3'], ...) - все работает. Спасибо!
|
Можно и циклом, но перебором не по индексу, которых нет в массиве, а по ключам foreach($_POST as $key=>$value), если ключи не ради их наличия созданы.
|
Часовой пояс GMT +3, время: 18:11. |