PHP错误更改Bgcolor

时间:2016-12-01 08:52:20

标签: php

我收到错误,我不知道为什么。当您选择单选按钮并按下按钮时,一切正常,颜色会发生变化。但是当你启动网站时,它会产生4个错误:

注意:未定义的索引:第20行的C:\ xampp \ htdocs \ seb1.php中的kleur

注意:未定义的索引:第24行的C:\ xampp \ htdocs \ seb1.php中的kleur

注意:未定义的索引:第28行的C:\ xampp \ htdocs \ seb1.php中的kleur

注意:未定义的索引:第32行的C:\ xampp \ htdocs \ seb1.php中的kleur

这是我的代码:

<!DOCTYPE html>
<html>
<head>
    <title>Vertalingen</title>
    <?php 
            if (!empty($_POST)) {           
                $woord = $_POST["woord"];   
                $vertaal = $_POST["vertaling"];
                    $fp = fopen("seb.txt", "a+");
                    fputs($fp, $woord."\r\n");
                    fputs($fp, $vertaal."\r\n");
                    fclose($fp);
            }

            if(!empty($_GET))   {
                if ($_GET['kleur'] == 'rood')
                    echo '<body bgcolor="red">';
            }

                if ($_GET['kleur'] == 'blauw'){
                    echo '<body bgcolor="blue">';
                }

                if ($_GET['kleur'] == 'geel'){
                    echo '<body bgcolor="yellow">';
                }

                if ($_GET['kleur'] == 'groen'){
                    echo '<body bgcolor="green">';
                }

                if ($_GET['kleur'] == 'oranje'){
                    echo '<body bgcolor="orange">';
                }


        ?>

</head>
<body>

        <form name="woorden" method="post">
        Woord:      <input type="text" name="woord"><br>
        Vertaling:  <input type="text" name="vertaling"><br>
                    <input type="submit" name="Opslaan" value="Opslaan">
        </form>     
        <form method="get">
            Geel:<input type="radio" name="kleur" value="geel"><br>
            Blauw:<input type="radio" name="kleur" value="blauw"><br>
            Rood:<input type="radio" name="kleur" value="rood"><br>
            Oranje:<input type="radio" name="kleur" value="oranje"><br>
            Groen:<input type="radio" name="kleur" value="groen"><br>
            <input type="submit" name="ChangeColor" value="Changecolor">
            <!-- <input type="radio" name=""> -->
            <!-- <input type="radio" name=""> -->
        </form>             
    </body>
</html>

* kleur意为颜色 谢谢你的帮助

3 个答案:

答案 0 :(得分:1)

这是因为当您第一次加载页面时,您的$_GET['kleur']变量为空。因此,它会抛出Undefined Index Notice

要处理它,请添加!empty检查,以确定变量是否为空。 Reference

if(!empty($_GET['kleur']))
{
    if ($_GET['kleur'] == 'rood')
        echo '<body bgcolor="red">';
    }

    if ($_GET['kleur'] == 'blauw'){
        echo '<body bgcolor="blue">';
    }
}

答案 1 :(得分:0)

也许有帮助

if(isset($_GET) && isset($_GET['kleur']) && !empty($_GET['kleur'])){
    switch($_GET['kleur']){
        case 'rood':
            echo '<body bgcolor="red">';
        break;
        case 'blauw':
            echo '<body bgcolor="blue">';
        break;
        case 'geel':
            echo '<body bgcolor="yellow">';
        break;
        case 'groen':
            echo '<body bgcolor="green">';
        break;
        case 'oranje':
            echo '<body bgcolor="orange">';
        break;
        default:
            echo '<body bgcolor="red">';
        break;
    }
}

答案 2 :(得分:0)

你错过了几个括号吗?

    if ($_GET['kleur'] == 'rood') { <--this
        echo '<body bgcolor="red">';
    }
    ...
} <-- this