让我的下降粘性?

Who*_*ppa 0 html php forms sticky

我对PHP(以及一般的编程)非常陌生,我试图让我的表单字段变粘,所以每次用户点击提交时,他们的选择都会在下拉列表中保持选中状态.代码正在正确地更改字体,颜色等,但它会一直返回到下拉列表顶部的值.

    <!DOCTYPE html>
<html>
<head><title>Example</title></head>
<body>

<form name="FontFamilyForm" method="post">

  <select name="fontFamily">
    <option value="serif">Serif</option>
    <option value="sans-serif">Sans-serif</option>
    <option value="fantasy">Fantasy</option>
    <option value="monospace">Monospace</option>

  </select>
  <input type="submit" />
</form>

<form name="FontSizeForm" method="post">

  <select name="fontSize">
    <option value="100">Normal</option>
    <option value="60">Tiny</option>
    <option value="80">Small</option>
    <option value="120">Medium</option>
    <option value="150">Large</option>
    <option value="200">Extra Large</option>

  </select>
  <input type="submit" />
</form>


<form name="BackgroundColorForm" method="post">

  <select name="backgroundColor">
    <option value="#ffffff">Normal</option>
    <option name='beetch' value="#dddddd">Light Grey</option>
    <option value="#aaaaaa">Medium Grey</option>
    <option value="#888888">Grey</option>
    <option value="#333333">Dark Grey</option>
    <option value="#000000">Black</option>

  </select>
  <input type="submit" />
</form>



<?php

    if (isset($_POST['fontFamily']))
    {
        $fontFamilyVar = $_POST['fontFamily'];

    }

    if (isset($_POST['fontSize']))
    {
      $fontSizeVar = $_POST['fontSize'];  
    }

    if (isset($_POST['backgroundColor']))
    {
      $backgroundColor = $_POST['backgroundColor'];  
    }





?>
    <style type="text/css">

        body { 
           line-height:1.5;
           width:640px;
           margin:0 auto;
           font-family: <?echo $fontFamilyVar?>;
           font-size: <?echo $fontSizeVar?>%;
           background-color: <?echo $backgroundColor?>;
           color: #dddddd;
       }
       label {width:12em;float:left;}
    </style>

    <p>Test string blah blah blah blah blah</p>


</body>

<html>
Run Code Online (Sandbox Code Playgroud)

May*_*rma 5

您需要按以下方式更新代码:

<select name="fontFamily">
    <option <?php if($fontFamilyVar=="serif")      echo 'selected="selected"'; ?> value="serif">Serif</option>
    <option <?php if($fontFamilyVar=="Sans-serif") echo 'selected="selected"'; ?> value="sans-serif">Sans-serif</option>
    <option <?php if($fontFamilyVar=="Fantasy")    echo 'selected="selected"'; ?> value="fantasy">Fantasy</option>
    <option <?php if($fontFamilyVar=="Monospace")  echo 'selected="selected"'; ?> value="monospace">Monospace</option>
</select>
Run Code Online (Sandbox Code Playgroud)

还将下面的PHP代码放在页面顶部,而不是底部:

<?php

    if (isset($_POST['fontFamily']))
    {
        $fontFamilyVar = $_POST['fontFamily'];
    }
    if (isset($_POST['fontSize']))
    {
      $fontSizeVar = $_POST['fontSize'];  
    }
    if (isset($_POST['backgroundColor']))
    {
      $backgroundColor = $_POST['backgroundColor'];  
    }
?>
Run Code Online (Sandbox Code Playgroud)