Joomla - 使用$ _POST忽略表单字段

时间:2013-07-22 13:45:38

标签: forms joomla http-post

我一直在尝试在我看来创建一个joomla表单。但是当我使用“apply”函数并尝试从$ _POST全局检索信息时,我缺少三个字段中的两个。我不能为我的生活弄清楚什么是错的。

由于我得到了其中一个字段,我认为我已经以某种Joomla方式创建了该表单。

<form action='<?php echo JRoute::_('index.php?option=com_mycomponent'); ?>' method='post' name="adminForm">
<fieldset><legend><?php echo JText::_('COM_MYCOMPONENT_SETTING_LEGEND'); ?></legend>
<label for=' <?php echo JText::_('COM_MYCOMPONENT_FORM_NAME'); ?>'> <?php echo JText::_('COM_MYCOMPONENT_USE'); ?>: </label>
<select name=' <?php echo JText::_('COM_MYCOMPONENT_FORM_NAME'); ?>' id=' <?php echo JText::_('COM_MYCOMPONENT_FORM_NAME'); ?>'>
<option value='0'> <?php echo JText::_('COM_MYCOMPONENT_NO')?></option>             
<?php   
if ($this->m_use_osn)
    echo "<option value='1' selected>";
else 
    echo "<option value='1'>";
?>  
<?php echo JText::_('COM_MYCOMPONENT_YES')?></option>   
</select>       
<br /> 
<label for='<?php echo JText::_('COM_MYCOMPONENT_URL_FORM_NAME'); ?>'> <?php echo JText::_('COM_MYCOMPONENT_URL'); ?>: </label>     
<?php
if (!empty($this->m_osn_url)) 
    echo "<input type='text' value='".$this->m_osn_url."' /><br />";
else 
    echo "<input type='text' placeholder='".JText::_('COM_MYCOMPONENT_URL_PLACEHOLDER')."' /><br /> ";
?>  
<label for='<?php echo JText::_('COM_MYCOMPONENT_KEY_FORM_NAME'); ?>'> <?php echo JText::_('COM_MYCOMPONENT_KEY'); ?>: </label>                 
<?php
if (!empty($this -> m_osn_key))
    echo "<input type='text' value='" . $this -> m_key . "' /><br /> ";
else
    echo "<input type='text' placeholder='".JText::_('COM_MYCOMPONENT_KEY_PLACEHOLDER')."' /><br />";
?>
<input type="hidden" name="task" value="" />
<input type='submit' value=' <?php echo JText::_('COM_MYCOMPONENT_SUBMIT'); ?> />
</fieldset>
</form>

然而,var_dump($_POST)给我的是:

array(3) {
  ["mycomponent_use"]=>
  string(1) "0"
  ["task"]=>
  string(5) "apply"
  ["option"]=>
  string(14) "com_mycomponent"
}

所以,由于某种原因,我没有得到任何文本输入字段。我也尝试通过JFactory::getApplication()->input...获取数据,因为某些原因它会忽略我的<input type='text' />。我是否必须以某种方式在$ _POST全局中注册这些?由于我无法使用常规提交按钮,但必须依赖于joomla栏,因此我对获得半空$_POST感到有点沮丧。

1 个答案:

答案 0 :(得分:1)

您忘记在表单中提供输入字段的名称。请为每个字段指定不同的名称。您可以参考。

Dealing with Forms