如何使用表单和PHP更改html页面的背景颜色?

时间:2015-06-13 09:28:04

标签: php html forms

输入选择的颜色后,页面应更改其背景颜色。它应该使用html表单来完成。

<body bgcolor="<?php $_GET["color"]; ?>">
    <form method="get" name="color">
        Background color:<br>
        <input type="text" name="color">
        <input type="submit" value="submit">
    </form>
</body>

3 个答案:

答案 0 :(得分:0)

您必须回显存储在变量$_GET["color"]中的值,如

<body bgcolor="<?php echo $_GET["color"]; ?>">

您还应该检查变量$_GET["color"]是否存在,而不是使用isset()

<body bgcolor="<?php echo ( isset($_GET["color"]) && $_GET["color"] ) ? $_GET["color"] : "pink"; ?>">   // here pink is the default color

答案 1 :(得分:0)

    <?php if(!empty($_GET['color']) {?>
        <body style="background-color:'<?php echo $_GET['color'];?>">
    <?php }else {?>
        <body style="background-color:orange">
    <?php } ?>
    <form method="get" name="formcolor">
            Background color:<br>
            <input type="text" name="color">
            <input type="submit" value="submit">
        </form>
    </body>

答案 2 :(得分:0)

您应该使用CSS而不是HTML属性来装饰HTML呈现。另外,您应该avoid to use inline styling代表一个更好的组织,因为它将语言分开(=将您的CSS与HTML分开)。

所以要回答你的问题,你可以这样做:

<?php
    if (!isset($_GET["color"]) || $_GET["color"] === '')
    {
        $_GET["color"] = 'pink';
    }
?>
<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>My Website</title>
        <style>
            body {
                background-color: '<?= $_GET["color"] ?>';
            }
        </style>
    </head>
    <body>
        <form method="get" name="color">
            Background color:<br>
            <input type="text" name="color">
            <input type="submit" value="submit">
        </form>
    </body>
</html>