0

未定義のインデックスを取り除こうとしています。ボックスにチェックを入れずに送信をクリックするたびに、未定義のインデックス エラーが発生します。

<html>
    <head>
        <title>Order</Title>
            <style>
            </style>
        <body>
            <form action = "order.php" method = "post">
                Coffee:<p>
                <input type = "checkbox" value = "coffee" name = "cappuccino"/>Capuccino<br>
</form>
        </body> 
    </head>
</Html>

<?php
    $capuccino = 3.75;
    if(isset($_POST["submit"]))
    {
        if($_POST['cappuccino'] <> 'coffee')
        {
            $capuccino = 0;
        }
    }
?>
4

4 に答える 4

1

issetのようにしてみてください

<?php
    if(isset($_POST["submit"]))
    {
        if(isset($_POST['cappuccino']) && $_POST['cappuccino'] <> 'coffee')
        {
            $capuccino = 0;
        }
    }
?>

!=代わりに使用することもできます<>

$_POST['cappuccino'] != 'coffee'
于 2013-08-31T09:51:47.143 に答える
1

HTML フォームでは、チェックしないと値がポストされません。最初に投稿されたかどうかをテストする必要があるため、php コードは次のようになります。

<?php
if(isset($_POST["submit"]))
{
    if(isset($_POST['cappuccino']) && $_POST['cappuccino'] <> 'coffee')
    {
        $capuccino = 0;
    }
}
?>
于 2013-08-31T09:52:52.080 に答える
0

あなたの条件は次のとおりです。

if(array_key_exists('cappuccino', $_POST) && isset($_POST['cappuccino']) && $_POST['cappuccino'] <> 'coffee')
于 2013-08-31T09:53:14.743 に答える