передача переменных из формы

Тема в разделе "PHP", создана пользователем intent82, 13 апр 2012.

Статус темы:
Закрыта.
Модераторы: latteo
  1. intent82

    intent82 Создатель

    Регистр.:
    21 сен 2009
    Сообщения:
    13
    Симпатии:
    2
    требуется передать из формы переменные на обработчик, но проблема в том, что имена полей динамические... Как можно передать только переменные в один одномерный массив?
    HTML:
    <input type="text" name="ggred">
    <input type="text" name="fdser">
    <input type="text" name="ewq">
    <input type="text" name="fghfrahjy">
    <input type="text" name="eedcrf">
    повторюсь, количество инпутов не фиксировано, их "name=" динамически генерируются при обновлении страницы.
    помогите =(
     
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.519
    Симпатии:
    1.368
    Они и так будут в одномерном массиве $_POST:
    PHP:
     print_r($_POST); 
     
    intent82 нравится это.
  3. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    634
    Симпатии:
    1.407
    PHP:
    <?
    foreach(
    $_POST as $n=>$v)
    {
      
    //обработка данных
    }
    ?>
     
  4. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    данные формы будут передаваться post массивом в виде: имя_поля=>значение поля например
    PHP:
    Array('ggred'=>'text_ggred''fdser'=>'text_fdser',....);
    доступ ко всем элементам массива можно получить перебирая массив $_POST при помощи foreach
    PHP:
    foreach($_POST as $key=>$value){
    .........
    }
    таким образом скрипт, обрабатывающий данные формы получает доступ ко всем элементам массива не зависимо от количества и имен полей...
    если имена полей совсем не нужны для дела, можно воспользоваться функцией array_values()
    например:
    PHP:
    $_POST = array(" text_ggred " => "XL"" fdser " => "gold");
    $r=array_values($_POST);
    таким образом в переменной $r будет содержаться массив: Array( [0] => 'XL', [1] => 'gold')
    который можно обработать тем же foreach
    PHP:
    foreach($_POST as $value){
    .........
    }
     
    intent82 нравится это.
Статус темы:
Закрыта.