1

嗨,我有未定义索引的问题。在 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>

提交文件 submit.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'];

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

4

5 回答 5

0

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

于 2012-04-12T11:07:22.097 回答
0

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

尝试这个:

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

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

switch (@$_POST['type']) {
于 2012-04-12T11:08:11.207 回答
0
$_REQUEST['type'] = ( isset($_REQUEST['type']) ? $_REQUEST['type'] : '' )

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

于 2012-04-12T11:09:09.023 回答
0

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

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

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

于 2020-01-03T14:10:21.760 回答
-1

您的

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

应该也id="type"

编辑:

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

于 2012-04-12T11:04:18.240 回答