簡體   English   中英

未定義索引:在第 4 行輸入 C:\\wamp\\www\\submit.php

[英]Undefined index: type in C:\wamp\www\submit.php on line 4

嗨,我有未定義索引的問題。 在 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'];

以及在其他主題上發現的許多其他建議,但在這種情況下似乎沒有幫助

您沒有名為“type”的輸入? 嘗試將 $_POST['type'] 更改為 $_POST['number'],如果這是您需要的數據。

我猜你最終會通過提交上述表單之外的其他途徑進入submit.php

試試這個:

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

或者替代的,通常要避免但可能在這里的方法:

switch (@$_POST['type']) {
$_REQUEST['type'] = ( isset($_REQUEST['type']) ? $_REQUEST['type'] : '' )

檢查變量是否已設置 - 如果沒有,請將其設置為空白,盡管我會檢查您的表單以了解為什么未設置帖子字段

你可以用這一行跳過這個錯誤

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

當您使用會話或數組時會返回此錯誤,但尚未解釋索引,要解決此問題,您需要添加空值或如果尚未使用此索引,則需要添加任何您喜歡的值。

您的

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

也應該有id="type"

編輯:

順便說一句,剛剛提到的,這個inputhidden 也許您的switch應該基於另一個變量,例如$_POST['number']或其他文本字段?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM