Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP下拉菜单不粘滞_Php_Html_Drop Down Menu_Sticky - Fatal编程技术网

PHP下拉菜单不粘滞

PHP下拉菜单不粘滞,php,html,drop-down-menu,sticky,Php,Html,Drop Down Menu,Sticky,我已经问过这个问题了,但在得到帮助后,我已经把代码拖得太长了。我试图使我的php下拉菜单粘性,但每次按下submit按钮后,它都会清除到顶部菜单项。我不知道我哪里出了问题,所以非常感谢您的帮助。代码如下: <!DOCTYPE html> <html> <head> <title>Example</title> </head> <body> <?php if (isset($_P

我已经问过这个问题了,但在得到帮助后,我已经把代码拖得太长了。我试图使我的php下拉菜单粘性,但每次按下submit按钮后,它都会清除到顶部菜单项。我不知道我哪里出了问题,所以非常感谢您的帮助。代码如下:

    <!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>

例子

你是如何发现这个网站的

value=“WebSearch”>网络搜索 value=“Wordofmouth”>口碑
首先,您的表单中没有
$POST['fontFamily']
变量。你为什么要用它? 您应该使用
$\u POST['Question']
来获取此值

因此,它应该是:

 if (isset($_POST['Question']))
{
    $menuVar = $_POST['Question'];
}
   if (isset($_POST['Question']))
    {
        $menuVar = $_POST['Question'];
    } else {
        $menuVar = "----------";
    }
另外,如果没有
$POST
,您应该初始化
$menuVar
,以免收到
通知:未定义变量$menuVar
。因此,最终您的代码应该是:

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

你说的粘性是什么意思?是否希望表单在刷新页面后保留以前选择的值?页面上还有其他必要的表单字段,如果未输入日期,将显示错误消息。发生这种情况时,我不希望此下拉菜单重置。我已经解决了其他表单字段,它们不再清除,但不知道如何保留下拉菜单项?如果由于无效条目而显示错误消息,我希望所有数据保持在按下提交按钮之前的状态。如果不发生这种情况,用户将不得不重新填写整个表单。嗨,007。我刚刚注意到你的帖子。包含所有内容的页面非常大,不适合屏幕截图。问题现在已经解决了,再往下看。谢谢你愿意帮助我:)修好了!我完全错过了家庭的那一点!那是个错误。我花了好几个小时试图解决这个问题,但没有结果,我正要放弃!非常感谢您的时间和代码。我将用我的photoshop技能回馈社区,因为我的编码技能太糟糕了!我建议您在开发环境中启用错误报告,包括PHP配置中的注意事项。当我进行最初的php培训时,我在本地设置并通过终端命令配置了错误报告。问题是,在这之后,我对apache有了一些问题,我根本就不理解,并安装了MAMP。这就是我现在用的!你知道一个好的PHP调试器吗?我确实需要一个。。。我自学成才,当事情不顺利时,我真的很挣扎!谢谢您的帮助:)您现在不需要调试器。您应该已经设置了
error\u reporting(E\u ALL)
(您也可以在PHP.ini中设置它,如果您自己安装它或通过MAMP安装它,这是可用的),如果需要,只需在代码中的任何位置使用
var\u dump
检查变量值,以验证其值。Ok听起来不错。我会遵循这个建议,希望将来能够更轻松地解决我自己的问题!非常感谢:)