Настройка пользовательских настроек в PHP с использованием файлов cookie

#html #css

#HTML #css

Вопрос:

Я выполняю задание, в котором мне нужно иметь возможность изменять цвет страницы входа в систему в соответствии с предпочтениями. Теперь я смог успешно это сделать, НО независимо от того, что я делаю, цвет не будет занимать всю страницу только вокруг самой ФОРМЫ, оставляя остальное белым, не могли бы вы сказать мне, где я допустил ошибку? Пожалуйста, посмотрите мой код ниже:

 <?php
include('session.php');
?>
<!DOCTYPE html>
<html>
<head>
<title>Your Home Page</title>

</head>
<body>

<div id="profile">
<b id="welcome">Welcome : <i><?php echo $login_session; ?></i></b>

<b id="logout"><a href="logoff.php">Log Out</a></b>

<?php

   $red = "";
    $blue = "";
    $green = "";
    $gold = "";
    $silver = "";
    $purple = "";

    $hour = time()   3600;


    if (isset($_POST['order']))
    {
        $color = $_POST['order'];
        $$color = " selected";
        setcookie("Free_cookies", $color, $hour);
    }

    else if(isset($_COOKIE['Free_cookies']))
    {
        $color = $_COOKIE['Free_cookies'];
        $$color = " selected";
    } 

    else
    {
        $color = "red";
        $red = " selected";
    }
    $red = "";
    $blue = "";
    $green = "";
    $gold = "";
    $silver = "";
    $purple = "";

    $hour = time()   3600;

    // first check for a new value, and use it as well as saving it for next time
    if (isset($_POST['order']))
    {
        $color = $_POST['order'];
        $$color = " selected";
        setcookie("Free_cookies", $color, $hour);
    }
    // if there's no new value, THEN check for a previous value in a cookie
    else if(isset($_COOKIE['Free_cookies']))
    {
        $color = $_COOKIE['Free_cookies'];
        $$color = " selected";
    } 
    // otherwise default to red
    else
    {
        $color = "red";
        $red = " selected";
    }
?>




<form method='post' <?php echo "STYLE='background-color:".$color.";'";?> ><p id='txtorder'  >color: </p>

    <select name='order' id='order'>
        <option value="red" <?php echo $red; ?> >red</option>
        <option value="blue" <?php echo $blue; ?> >blue</option>
        <option value="green" <?php echo $green; ?> >green</option>
        <option value="gold" <?php echo $gold; ?> >gold</option>
        <option value="silver" <?php echo $silver; ?> >silver</option>
        <option value="purple" <?php echo $purple; ?> >purple</option>
    </select>
    <input type='submit' value='sort'/>


</form>
 </div>

</body>
</html>
  

Комментарии:

1. стиль тела страницы, а не только формы — это вопрос html css, не имеющий ничего общего с php

2. Я пробовал это, и это все равно не сработает. Я попытался создать класс div, окружающий все это, и он останется только вокруг формы. Я думала, что если перееду <?php echo «STYLE=’background-color:».$color.»;'»;?> в теле элемента div amp; стиль его таким образом, но я получаю неизвестную ошибку синтаксиса.

3. это работает в теле. вам придется переместить свой php над своим html (в любом случае, хорошая практика)

4. Ах, хорошо, спасибо @nogad!