【问题标题】:Why i get this error about my Undefined index? [closed]为什么我的未定义索引出现此错误? [关闭]
【发布时间】:2015-02-02 08:28:10
【问题描述】:

由于我的选择表单,我收到错误消息。我如何将选择表单放入我的 php 文件中?

这是我的代码:

<select name='md' multiple="yes" size="10">
    <optgroup label="Оpel">
        <option value="Astra" name='Ast'>Astra</option>
    </optgroup>
    <optgroup label="Nissan">        
        <option value="Pulsar" name='Puls'>Pulsar</option>
        <option value="Almera" name='Alm'>Almera</option>
    </optgroup>
    <optgroup label="Honda">
        <option value="Civic" name='Civ'>Civic</option>
    </optgroup>     
    <optgroup label="Audi">
        <option value="Q7" name='Q'>Q7</option>                 
    </optgroup>

    <optgroup label="BMW">
        <option value="M3" name='M'>M3</option>
    </optgroup>
    <optgroup label="Renault">
        <option value="Megane" name='Meg'>Megane</option>
    </optgroup>
    <optgroup label="Mercedes">
        <option value="G-Class" name='G'>G-Class</option>
    </optgroup>
</select></br></br>

Цвят :
<select name='col' size='5'>
    <option value='white' name='wh'>Бял</option>
    <option value='black' name='bl'>Черен</option>
    <option value='yellow' name='ye'>Жълт</option>
    <option value='brown' name='br'>Кафяв</option>
    <option value='grey' name='gr'>Сив</option>
</select></br></br>

还有我的php代码:

 $md = $_POST['md'];
 $col = $_POST['col'];

我在某个地方看到我应该使用 ajax 吗?有必要吗?

【问题讨论】:

  • 什么索引未定义?
  • $md = (isset($_POST['md'])) ? $_POST['md'] : ''; 和 $col = (isset($_POST['col'])) ? $_POST['col'] : '';。不客气。
  • 向我们展示您的表单标签。
  • 非常感谢你,伙计:))
  • “我在某个地方看到我应该使用 ajax 吗?有必要吗?” - 没有。

标签: php mysql ajax


【解决方案1】:

试试

if(isset($_POST['md'])){
  $md = $_POST['md'];
}else{
  $md = '';
} 

if(isset($_POST['col'])){
 $col = $_POST['col'];
}else{
  $col = '';
}

或

$md = (isset($_POST['md'])) ? $_POST['md'] : ''; 
$col = (isset($_POST['col'])) ? $_POST['col'] : '';

【讨论】:

  • 你是不是无耻地抄袭了我回答的三元运算符?
  • 哦,甚至你的主要答案中的else { 部分......太棒了。
  • 看看我的答案在你的答案之前的答案时间,我不知道你复制了我的答案还是我复制了你的答案。抄别人的答案要不要脸
【解决方案2】:

您的 PHP 代码显示“注意:未定义索引:...”,因为当您最初打开文件时,您没有在选择框中选择任何内容。为了防止它,请使用if (isset(...)):

if (isset($_POST['md']) {
  $md = $_POST['md'];
} else {
  $md = '';
}
if (isset($_POST['col']) {
  $col = $_POST['col'];
} else {
  $col = '';
}

或者您可以使用三元运算符作为更短的解决方案:

$md = (isset($_POST['md'])) ? $_POST['md'] : '';
$col = (isset($_POST['col'])) ? $_POST['col'] : '';

【讨论】:

    【解决方案3】:

    因为我认为您正在接收用于多项选择的数组变量。使用数组存储数据。像这样

        <label for="aoi">Area of Interest:</label>
          <select id="sel_aoi" name="aoi[]" multiple="multiple">
            <option value="hr-executive">HR Executives</option>
            <option value="sr-manager">Sr. Manager</option>
            <option value="service-advisor">Service Advisor</option>
            <option value="production">Production Engineer</option>
            <option value="mechanical">Mechanical Engineer</option>
          </select>
    
    
        $aoi = implode(',', $_POST['aoi']);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 2013-11-05
      • 1970-01-01
      • 2018-07-09
      • 2012-09-30
      • 1970-01-01
      相关资源
      最近更新 更多