iframe VS $_POST Part 2

DataKill

Новичок
iframe VS $_POST Part 2

Вот основной код формы (файл addcomp.php):

PHP:
<div align="center">

  <table width="1100" border="0" cellpadding="ug">
    <tr>
      <td width="165" valign="top" class="left_menu">
      <? include("leftmenu.php"); ?>
    </td>
    <td width="600" valign="top">
    <!--TEXT-->
		<form action="data/comp_add.php" method="post" enctype="multipart/form-data">		
    <table width="690" align="center" border="0">
  		<tr><td align="right" width="430">
        Категория <select name="categ">
        <? include("connect.php"); 
          $query = "SELECT * FROM categories ORDER BY cat_id";
          $result = mysql_query($query);
          while($row=mysql_fetch_array($result)){
            echo "<option>".$row[1]."</option>";
          }
        ?>
        </select><br />
        Под категория <select name="subcateg">
        <? $query = "SELECT * FROM subcategories ORDER BY sub_cat_id";
          $result = mysql_query($query);
          while($row=mysql_fetch_array($result)){
            echo "<option>".$row[1]."</option>";
          }
        ?>
        </select>  
  		</td><td align="right">
        Город <select name="country">
				<?
          $query="SELECT country_name FROM `country` GROUP BY country_name";	
          $result=mysql_query($query);
          while($row=mysql_fetch_array($result)){
            echo "<option>".$row[0]."</option>";
          }
        ?> 
        </select><br />
        Страна <select name="city">
        <?
          $query="SELECT city_name FROM `country`";	
          $result=mysql_query($query);
          while($row=mysql_fetch_array($result)){
            echo "<option>".$row[0]."</option>";
          }
        ?> 
        </select>
      </td></tr>
    </table><br />

      <div align="right"> Имя компании <input name="newcompname" type="text" size="60"> </div>
      <br>
      <div align="center">
      Фото 1 <input name="file1" type="file" size="60"><br>
      Фото 2 <input name="file2" type="file" size="60"><br>
      Фото 3 <input name="file3" type="file" size="60"><br>
      Фото 4 <input name="file4" type="file" size="60"><br><br>
			Акции, услуги, информация, прочее
          <!-- Gets replaced with TinyMCE, remember HTML in a textarea should be encoded -->
          <textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 80%">
        
          </textarea>
        
          <br />
        <input name="tel" type="text" size="46"><br><br>-->
        <table width="180" border="0" align="center">
          <tr><td align="left">
            <input name="tag" type="radio" value="1" checked /> Вертикальное меню<br />
            <input name="tag" type="radio" value="2" /> Горизонтальное меню<br />
            <input name="tag" type="radio" value="3" /> Без меню<br /><br />
						<input name="foto" type="radio" value="1" checked/> С фотографиями<br />
            <input name="foto" type="radio" value="0" /> Без фотографий<br />
          </td></tr>
        </table><br />
        <input name="submit" type="submit" value="Сохранить">
      </div><br />
   
    </td>
    <td valign="top" align="left">
    <div align="center"><b>Рубрики:</b><br /></div>
    <iframe scrolling="auto" src="frame.php" frameborder="0" height="670" width="230">
    </iframe>
    </form>
    </td>
    </tr>
  </table>

</div>
Файл frame.php:
PHP:
<?
		include("connect.php");
		$query="SELECT subcategories.sub_cat_id, subcategories.sub_cat_name FROM subcategories ORDER BY subcategories.sub_cat_name";
		$result=mysql_query($query);
		$i++;
		while($row=mysql_fetch_array($result)){
			echo "<input name='rub_$row[0]' type='checkbox' value='wwwwww' />".$row[1]."<br />";
			$i++;
		}
?>
В фрейме выводится список чекбоксов рубрик... Проблемма в том, что в файле обработчике формы(comp_add.php) пытаюсь вытащить все значения которые содержаться в массиве $_POST, но от фрейма нет никаких данных.
В чем тут может быть проблемма??? Нужно, что бы в файл comp_add.php в массив $_POST передавались значения чекбоксов фрейма.
 

Beavis

Banned
А как они будут передаваться, если в фрейме даже формы нет?
frame.php это ОТДЕЛЬНАЯ и САМОСТОЯТЕЛЬНАЯ страница, и то что она визуально находится внутри comp_add.php никак их не связывает. Она ничего не знает о форме, которая есть в comp_add.php и естесственно ничего никуда не отправляет, а comp_add.php в свою очередь ничего не знает о содержимом фрейма, тем более о том что там есть чекбоксы.

Попробуй открыть frame.php в отдельном окне и добиться того чтоб всё работало. Тогда и внутри comp_add.php она будет работать, т.к. разницы никакой нет.
 

DataKill

Новичок
Тоесть, ты имеешь в виду, что мне в frame.php надо добавить тег формы:
<form action="data/comp_add.php" method="post">
<?
........
........
?>
</form>
 

Beavis

Banned
я имею ввиду, что простыми средствами ты не сделаешь "одну форму на двоих".

-~{}~ 26.02.09 23:50:

почему нельзя вместо
<iframe scrolling="auto" src="frame.php" frameborder="0" height="670" width="230">
</iframe>

просто сделать include("frame.php") ? зачем фреймы тут вообще?
 

DataKill

Новичок
Потому что список получается довольно большой и ему надо полоса прокрутки!!!
 
Сверху