PHP下拉菜单没有坚持

时间:2014-01-26 12:28:34

标签: php html drop-down-menu sticky

我已经问了这个问题,但是在我得到帮助之后已经拖过代码了。我试图让我的php下拉菜单粘滞,但每次按下提交按钮后它会清除到顶部菜单项。我不知道我哪里出错了所以非常感谢任何帮助。代码如下:

    <!DOCTYPE html>
<html>

<head>
    <title>Example</title>
</head>

<body>

<?php
    if (isset($_POST['Question']))
    {
        $menuVar = $_POST['fontFamily'];
    }
?>

<p id="info-req">How did you find about this site?</p>

<form name="TestMenu" method="post" id="marketing">
    <select name="Question">
        <option <?php if($menuVar=="----------") echo 'selected="selected"'; ?> value="----------">----------</option>
        <option <?php if($menuVar=="WebSearch") echo 'selected="selected"'; ?> value="WebSearch">Web Search</option>
        <option <?php if($menuVar=="SocialMedia") echo 'selected="selected"'; ?> value="SocialMedia">Social Media</option>
        <option <?php if($menuVar=="Wordofmouth") echo 'selected="selected"'; ?> value="Wordofmouth">Word of mouth</option>
        <option <?php if($menuVar=="Other") echo 'selected="selected"'; ?> value="Other">Other</option>
    </select>
  <input type="submit" />
</form>

</body>
</html>

1 个答案:

答案 0 :(得分:1)

首先,表单中没有$POST['fontFamily']变量。你为什么要用呢? 您应该使用$_POST['Question']来获取此值。

所以它应该是:

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

如果没有$menuVar,为了不获得$POST,您应该初始化Notice: Undefined variable $menuVar。所以最后你的代码应该是:

   if (isset($_POST['Question']))
    {
        $menuVar = $_POST['Question'];
    } else {
        $menuVar = "----------";
    }