Проблемы с передачей данных из динамически генерируемой формы

Тема в разделе "PHP программирование", создана пользователем OSKiller, 2 сен 2011.

  1. OSKiller

    OSKiller Гость

    Имеется следующий PHP-код:
    Код (PHP):
    <?php
    Header("Expires: Mon, 26 Jul 1997 01:00:00 GMT");
    Header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT");
    Header("Cache-Control: no-cache, must-revalidate");
    Header("Pragma: no-cache");
    session_start();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html>

    <head>
    <title>Администрирование</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <link rel="stylesheet" type="text/css" href='/catalog/include_design/css/style.css'>

    <script type="text/javascript">
    _editor_url = "htmlarea/";
    _editor_lang = "ru";
    </script>


    <script type="text/javascript" src="htmlarea/htmlarea.js"> </script>
    <script type="text/javascript">
    function initEd() {
    ed = new HTMLArea("ta");
    ed.generate();
    }

    var config = new HTMLArea.Config(); // create a new configuration object
    // having all the default values
    config.width = '500px';
    config.height = '200px';

    var countOfFields=1; // Текущее число полей
    var curFieldNameId = 1; // Уникальное значение для атрибута name
    function deleteField(a) {
    // Получаем доступ к ДИВу, содержащему поле
    var contDiv = a.parentNode;
    // Удаляем этот ДИВ из DOM-дерева
    contDiv.parentNode.removeChild(contDiv);
    // Уменьшаем значение текущего числа полей
    countOfFields--;
    // Возвращаем false, чтобы не было перехода по сслыке
    return false;
    }
    function addField() {
    // Увеличиваем текущее значение числа полей
    countOfFields++;
    // Увеличиваем ID
    curFieldNameId++;
    // Создаем элемент ДИВ
    var div = document.createElement("span");
    // Добавляем HTML-контент с пом. свойства innerHTML
    div.innerHTML = "<br><select name=\"w_shine[]\" ><option value=\"6,5\" >6,5<option value=\"7\" >7<option value=\"7,5\" >7,5<option value=\"12\" >12<option value=\"27\" >27<option value=\"28\" >28<option value=\"29\" >29<option value=\"31\" >31<option value=\"32\" >32<option value=\"33\" >33<option value=\"34\" >34<option value=\"35\" >35<option value=\"36\" >36<option value=\"37\" >37<option value=\"38\" >38<option value=\"38,5\" >38,5<option value=\"39,5\" >39,5<option value=\"135\" >135<option value=\"145\" >145<option value=\"155\" >155<option value=\"165\" >165<option value=\"175\" >175<option value=\"185\" >185<option value=\"195\" >195<option value=\"205\" >205<option value=\"215\" >215<option value=\"225\" >225<option value=\"235\" >235<option value=\"245\" >245<option value=\"255\" >255<option value=\"265\" >265<option value=\"275\" >275<option value=\"285\" >285<option value=\"295\" >295</select> / <select name=\"h_shine[]\" ><option value=\"7,5\" >7,5<option value=\"8,5\" >8,5<option value=\"9,5\" >9,5<option value=\"10,5\" >10,5<option value=\"11\" >11<option value=\"11,5\" >11,5<option value=\"12,5\" >12,5<option value=\"13\" >13<option value=\"13,5\" >13,5<option value=\"14\" >14<option value=\"14,5\" >14,5<option value=\"15\" >15<option value=\"15,5\" >15,5<option value=\"16\" >16<option value=\"18\" >18<option value=\"25\" >25<option value=\"30\" >30<option value=\"35\" >35<option value=\"40\" >40<option value=\"45\" >45<option value=\"50\" >50<option value=\"55\" >55<option value=\"60\" >60<option value=\"65\" >65<option value=\"70\" >70<option value=\"75\" >75<option value=\"80\" >80<option value=\"85\" >85<option value=\"FULL\" >FULL</select> R <select name=\"r_disk[]\" ><option value=\"12\" >12<option value=\"13\" >13<option value=\"14\" >14<option value=\"15\" >15<option value=\"16\" >16<option value=\"16,5\" >16,5<option value=\"17\" >17<option value=\"18\" >18<option value=\"19\" >19<option value=\"20\" >20<option value=\"21\" >21<option value=\"22\" >22<option value=\"23\" >23<option value=\"24\" >24<option value=\"28\" >28</select> <a onclick=\"return deleteField(this)\" href=\"#\">[X]</a>";
    // Добавляем новый узел в конец списка полей
    document.getElementById("parentId").appendChild(div);
    // Возвращаем false, чтобы не было перехода по сслыке
    return false;
    }
    </script>

    </head>

    <body onLoad='initEd()'>
    <?php
    var_dump($_POST);
    ?>
    <div id="adm_wrap">
    <div id="adm_head">
    <div class="adm_name">Интернет магазин шин и дисков / панель администратора</div>

    <a href='../index.php' class="adm_goto_site">Перейти в магазин</a> </div>
    <div class="adm_bg_1">
    <div class="adm_bg_2">
    <div class="adm_bg_3">



    <ul class="adm_menu">
    <li class="menu1 active"><a href="#">Администрирование</a>

    <div class="submenu">
    <ul>
    <li><a href='index.php'>Главная</a></li>
    <li><a href='option.php'>Настройки</a></li>
    <li><a href='change_pass.php'>Смена пароля и логина</a></li>
    <li><a href='user_list.php'>Список пользователей</a></li>
    </ul>

    </div>
    </li>
    <li class="menu2"><a href="#">Товары</a>
    <div class="submenu">
    <ul>
    <li><a href='catalog.php?add=1'>Категории дополнительных товаров</a></li>
    <li><a href='item.php?add=1'>Добавить товары</a></li>

    <li><a href='add_csv.php'>Добавить товары через файл</a></li>
    <li><a href='skidka.php'>Настройка скидок</a></li>
    </ul>
    </div>
    </li>
    <li class="menu4"><a href="#">Марки авто</a>
    <div class="submenu">

    <ul>
    <li><a href='table_brand.php'>Настройка списка производителей</a></li>
    <li><a href='table_marka.php'>Работа с марками и моделями</a></li>
    <li><a href='model_shina.php'>Связь моделей и ШИН</a></li>
    <li><a href='model_disk.php'>Связь моделей и ДИСКОВ</a></li>
    </ul>
    </div>

    </li>
    <li class="menu3"><a href="#">Заказы</a>
    <div class="submenu">
    <ul>
    <li><a href='zakaz_list.php'>Неоплаченные заказы</a></li>
    <li><a href='zakaz_list_old.php'>Оплаченные заказы</a></li>
    </ul>

    </div>
    </li>
    <li class="menu5"><a href="#">Новости</a>
    <div class="submenu">
    <ul>
    <li><a href='catalog_art.php?add=1'>Разделы новостей</a></li>

    <li><a href='item_art.php?add=1'>Добавить статью</a></li>

    <li><a href='item_list.php'>Редактировать статьи</a></li>
    </ul>
    </div>
    </li>
    </ul>




    <div class="adm_left_menu">
    <h3>Список разделов</h3>


    <h4>Добавление нового товара. (Шины)</h4>
    <ul>
    <li><a href='?id_type=1&add=1'>Шины</a></li>
    <li><a href='?id_type=2&add=1'>Диски</a></li>
    <li><a href='?id_type=3&add=1'>Остальные виды товаров</a></li>
    </ul>
    </div>
    <div class="adm_right_block">



    <table border="0" align="center">
    <form method="POST" enctype="multipart/form-data">


    <td>Наименование:</td>
    <td><input type="text" size="35" name='name' value='' /></td></tr>

    <tr><td>Производитель:</td>
    <td>

    <select name="id_brand">
    <option value="0" />-- Выберите производителя --
    <option value="12" >BF Goodrich
    <option value="8" >Bridgestone

    <option value="3" >Dunlop
    <option value="15" >Federal
    <option value="14" >Kleber
    <option value="4" >Kumho
    <option value="17" >Michelin
    <option value="5" >Nokian
    <option value="6" >Nordman
    <option value="16" >Tigar
    <option value="7" >Yokohama
    </select>
    </td></tr>

    <tr><td>Цена:</td>
    <td><input type="text" size="35" name='price_rosn' value='' /></td></tr>

    <tr ><td colspan=2 align=center>Краткое описание:

    <br>Не должно превышать <b>255</b> символов<br>
    <textarea cols="45" rows="10" name="opis_kratko" ></textarea>
    </td></tr>

    <tr ><td colspan=2 align=center>Полное описание:
    <br>Не должно превышать <b>1000 </b> символов<br>
    <textarea cols="45" rows="10" name="opis" ></textarea>

    </td></tr>

    <tr><td>Размер:</td>
    <td>
    <span id="parentId"><span><select name="w_shine[]" >
    <option value="6,5" >6,5
    <option value="7" >7
    <option value="7,5" >7,5
    <option value="12" >12
    <option value="27" >27
    <option value="28" >28
    <option value="29" >29
    <option value="31" >31
    <option value="32" >32
    <option value="33" >33
    <option value="34" >34

    <option value="35" >35
    <option value="36" >36
    <option value="37" >37
    <option value="38" >38
    <option value="38,5" >38,5
    <option value="39,5" >39,5
    <option value="135" >135
    <option value="145" >145
    <option value="155" >155
    <option value="165" >165
    <option value="175" >175
    <option value="185" >185
    <option value="195" >195
    <option value="205" >205
    <option value="215" >215
    <option value="225" >225
    <option value="235" >235

    <option value="245" >245
    <option value="255" >255
    <option value="265" >265
    <option value="275" >275
    <option value="285" >285
    <option value="295" >295
    </select> /
    <select name="h_shine[]" >
    <option value="7,5" >7,5
    <option value="8,5" >8,5
    <option value="9,5" >9,5
    <option value="10,5" >10,5
    <option value="11" >11
    <option value="11,5" >11,5
    <option value="12,5" >12,5
    <option value="13" >13

    <option value="13,5" >13,5
    <option value="14" >14
    <option value="14,5" >14,5
    <option value="15" >15
    <option value="15,5" >15,5
    <option value="16" >16
    <option value="18" >18
    <option value="25" >25
    <option value="30" >30
    <option value="35" >35
    <option value="40" >40
    <option value="45" >45
    <option value="50" >50
    <option value="55" >55
    <option value="60" >60
    <option value="65" >65
    <option value="70" >70

    <option value="75" >75
    <option value="80" >80
    <option value="85" >85
    <option value="FULL" >FULL
    </select>
    R
    <select name="r_disk[]" >
    <option value="12" >12
    <option value="13" >13
    <option value="14" >14
    <option value="15" >15
    <option value="16" >16
    <option value="16,5" >16,5
    <option value="17" >17
    <option value="18" >18
    <option value="19" >19
    <option value="20" >20

    <option value="21" >21
    <option value="22" >22
    <option value="23" >23
    <option value="24" >24
    <option value="28" >28
    </select>
    </span></span><br><a onclick="return addField()" href="#">Добавить размер</a></td></tr>

    <tr><td>Сезон:</td>
    <td>
    <select name="sezon" >
    <option value="1" >зима
    <option value="2" >лето
    </select>
    </td></tr>

    <tr><td>Индекс скорости:</td>
    <td><input type="text" size="35" name='index_speed' value='' /></td></tr>

    <tr><td>Индекс нагрузки:</td>
    <td><input type="text" size="3" maxlength="3" name='nagr' value='' /></td></tr>

    <tr><td>Шипованные:</td>
    <td><input type="checkbox" name="ship_shine" value="1"></td></tr>


    <tr><td>В наличии:</td>
    <td><input type="checkbox" name="nal" value="1" checked></td></tr>

    </table>
    <p>Загрузить фото: <input type="file" name='logo' />

    <p><input type="submit" name="button" value = Добавить! />
    </form>


    </div>
    <div class="clear"></div>
    </div>
    </div>
    </div>
    </body>
    </html>
    Независимо от количества полей "w_shine[]", "h_shine[]" и "r_disk[]", соответствующие подмассивы $_POST содержат по одному элементу... В чём проблема, подскажите, пожалуйста...
     
  2. koder2

    koder2 Гость

    Может я чего недопонял но select для передачи множественного выбора должен иметь опцию multiple - у Вас я этого не вижу
     
  3. OSKiller

    OSKiller Гость

    Или же я могу создать множество select'ов с одним и тем же именем... Для того, чтобы PHP понимал, что нужно все значения собрать в массив, к имени selecta нужно прибавить пустые квадратные скобки...
     
Загрузка...
Похожие Темы - Проблемы передачей данных
  1. aliaksandr89
    Ответов:
    3
    Просмотров:
    123
  2. Amfion
    Ответов:
    5
    Просмотров:
    120
  3. wowa
    Ответов:
    7
    Просмотров:
    378
  4. John_Tavarez
    Ответов:
    0
    Просмотров:
    336
  5. Валентин Амбер
    Ответов:
    11
    Просмотров:
    345

Поделиться этой страницей