PHP:HTML / $ _POST FORM

时间:2010-09-28 08:04:07

标签: php html forms

我有这个:

   <form action="profiles.php" method="POST" name="SearchSimple" id="SearchSimple" >
<input name="search" id="s" style="width: 150px;" type="text">
        <a style="display: inline-block; width: 100px; font-weight: bold; cursor: pointer;" id="submitSearchSimple">Search </a>
            <script>
                        $('#submitSearchSimple').click(function() {
    javascript:document.SearchSimple.submit();
        });
            </script>
</form>

虽然我做的时候提交的很好

if($_POST["submitSearchSimple"] && isset($_POST["submitSearchSimple"])) {
echo $_POST["s"] . " -TEST";
}

它没有显示..我什么都没得到

3 个答案:

答案 0 :(得分:2)

您的表单输入的名称是“搜索”而不是“submitSearchSimple”。

id不会传递给服务器,也不是任何不是表单控件的东西(如示例中的锚点)。

答案 1 :(得分:2)

在PHP中,POST变量仅适用于INPUT元素,SELECT元素和&amp;只有在提交表单时,表格中也是如此。您还需要指定要由POST超全局数组变量捕获/使用的那些元素的“name”属性。

In your case, you can simply do this:-
if(isset($_POST["search"]) && !empty($_POST["search"])) {
    echo $_POST["search"] . " -TEST";
}

永远记住PHP与JavaScript / jQuery有一个主要区别。在JavaScript / jQuery中,您可以使用“id”属性或“name”属性来验证/操作字段。但是在PHP中,它总是字段的“名称”属性很重要,所以要小心这些。

希望它有所帮助。

答案 2 :(得分:0)

识别您作为POST传递的变量的简单方法:您可以在 profiles.php 中完成* var_dump($ _ POST)*。 你会看到

  

array(1){[“search”] =&gt; string(4)“test”}

因此,您可能已经看到它不是$ _POST [“s”]而是$ _POST [“搜索”]并得出结论认为不是 id 给出了名称索引,但名称

我没有看到在这种情况下使用javascript的意义......(好吧,我可以想象它适用于CSS样式,但无论如何你都可以轻松设置提交按钮的样式。