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

「type」という名前の入力がありませんか? $_POST['type'] を $_POST['number'] に変更してみてください。それが必要なデータである場合。

于 2012-04-12T11:07:22.097 に答える
0

submit.php上記のフォームを送信する以外のルートで内部にたどり着いていると思います。

これを試して:

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

または、代替の、一般的に回避されるが、おそらくOK-ここでのアプローチ:

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

変数が設定されているかどうかを確認します。設定されていない場合は空白に設定しますが、投稿フィールドが設定されていない理由についてフォームを確認します

于 2012-04-12T11:09:09.023 に答える
-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 に答える