【问题标题】:Undefined index: type in C:\wamp\www\submit.php on line 4未定义索引:在第 4 行输入 C:\wamp\www\submit.php
【发布时间】:2012-04-12 11:01:58
【问题描述】:

您好,我遇到了未定义索引的问题。 在 google chrome 和 mozilla 中,它显示了通知,但在资源管理器中一切正常,它不起作用。 我的 PHP 版本是 5.3.5。

代码:HTML文件

<div id="stylized" class="myform">
    <form action="submit.php" method="post" id="Form">
        <ol>
            <label for="number">number:</label>
            <input name="number" class="text" type="text" size="28"/>
            <div id="butt">
                <input type="hidden" style="width: 150px; border: 1px solid gray" value="addd" name="type" />
                <input type="submit" class="formbutton" value="add" />
            </div>
            <div id="error">&nbsp;</div>
        </ol>
        <div class="spacer"></div>
    </form>
</div>

提交文件提交.php

switch ($_POST['type']){
    case "register":
        register();
        break;
    case "login":
        login();
        break;
    default:
        die(msg(0, "error"));
}

错误:

Notice: Undefined index: type in C:\wamp\www\submit.php on line 4

我已经试过了:

if (isset($_POST['type']))
 $type = $_POST['type'];

以及在其他主题上找到的许多其他建议,但在这种情况下似乎没有帮助

【问题讨论】:

  • 为什么要设置隐藏输入的样式?随机的&lt;ol&gt; 是怎么回事?我没有看到任何&lt;li&gt;s...
  • Undefined index: PHP variables 的可能重复项

标签: php undefined


【解决方案1】:

您没有名为“type”的输入?尝试将 $_POST['type'] 更改为 $_POST['number'],如果是数据,则需要。

【讨论】:

    【解决方案2】:

    我猜你最终会通过其他途径进入submit.php,而不是提交上述表格。

    试试这个:

    switch (isset($_POST['type']) ? $_POST['type'] : NULL) {
    

    或者另一种通常可以避免但在这里可能还可以的方法:

    switch (@$_POST['type']) {
    

    【讨论】:

    • Tnks,这个switch (isset($_POST['type']) ? $_POST['type'] : NULL) 解决了问题
    【解决方案3】:
    $_REQUEST['type'] = ( isset($_REQUEST['type']) ? $_REQUEST['type'] : '' )
    

    检查变量是否已设置-如果没有,请将其设置为空白,尽管我会检查您的表单以了解未设置帖子字段的原因

    【讨论】:

    • 检查变量是否已设置——如果没有,请将其设置为空白,尽管我会检查您的表单以了解未设置帖子字段的原因
    • 编辑您的答案并在其中包含您的最后一条评论 - 并且在您使用它时 - 格式化您的代码!
    • @Lock 您需要在代码前加上 4 个空格字符,iPhone 或其他字符。 See here 寻求帮助。
    【解决方案4】:

    你可以用这一行跳过这个错误

    `ini_set("display_errors", "off");`
    

    当您使用会话或数组时返回此错误但尚未解释索引, 要解决此问题,您需要添加 null 值或您喜欢的任何值(如果尚未使用此索引)。

    【讨论】:

      【解决方案5】:

      你的

      <input type="hidden" style="width: 150px; border: 1px solid gray" value="addd" name="type"/>
      

      应该还有id="type"

      编辑:

      顺便说一句,刚才提到,这个inputhidden。也许您的switch 应该基于另一个变量,例如$_POST['number'] 或其他文本字段?

      【讨论】:

      • 我想说除非你使用 java 或 Ajax 或除 php 之外的任何其他东西,id 不相关
      猜你喜欢
      • 2012-12-03
      • 2015-06-01
      • 2012-12-13
      • 1970-01-01
      • 2016-04-03
      • 2016-10-09
      • 2013-06-17
      • 2015-07-12
      • 1970-01-01
      相关资源
      最近更新 更多