PHP从前一页的表单中获取值

php get value from a form on previous page

本文关键字:获取 表单 一页 PHP      更新时间:2023-09-26

我在前一页上从单选按钮获取值时遇到了麻烦。我目前的html + php代码字很好与搜索栏这是下面的第一个形式。但是,我希望能够在搜索栏下面有单选按钮过滤器。

 <section class="bar">
        <form action="/sub/search.php" method="post">
            <input type="test" name="criteria" placeholder="Search...">
            <button>Search</button>
        </form>
    </section><br>
    <form style="text-align:center" method="post" name="rb_filters">
        <input type="radio" name="rb_filters" value="1">1
        <input type="radio" name="rb_filters" value="2">2<br>
    </form>

在我的php代码中,我想运行基于哪个单选按钮被选中的某些函数。所以我要做的是:

if($_POST['rb_filters']=='1')
{
     /* run code */
}

然而,它不工作=/任何帮助将不胜感激= d

把它们做成一个大表格。您没有看到$_POST['rb_filters']值的原因是它们所属的表单没有提交。

应该这样做:

<form action="/sub/search.php" method="post">
    <section class="bar">
        <input type="test" name="criteria" placeholder="Search..."/>
        <input type="submit" value="Search"/>
    </section>
    <p>
        <input type="radio" name="rb_filters" id="rb_filters_1" value="1"/>
        <label for="rb_filters_1">1</label>
    </p>
    <p>
        <input type="radio" name="rb_filters" id="rb_filters_2" value="2"/ >
        <label for="rb_filters_2">2</label>
    </p>
</form>

我对你的标记做了一些编辑:

  • 将按钮更改为提交。
  • 收音机使用的标签,使他们更容易点击
  • 使用了一些段落代替BR标签
  • XHTML化,因为我都是关于XHTML的
  • <
  • 通用格式/gh>

这是一个非常令人困惑的问题。

你要么

:

  1. 有一个脚本上有2个形式(一个搜索和另一个是"自我发布")。
  2. 有一个脚本,其中你想添加单选按钮到它,并发布到"search.php"脚本。

如果你想要#2,那么看看疯子的答案。

如果你想要#1,那么问题是你没有提交按钮。

<section class="bar">
    <form action="/sub/search.php" method="post">
        <input type="test" name="criteria" placeholder="Search...">
        <button>Search</button>
    </form>
</section><br>

<form style="text-align:center" method="post" name="rb_filters">
    <input type="radio" name="rb_filters" value="1">1
    <input type="radio" name="rb_filters" value="2">2<br>
    <button>Submit</button>
</form>

虽然我同意前面的评论,将不同的对象命名为相同的不是一个好主意(表单名称=rb_filters +输入名称=rb_filters),但问题的事实是输入将通过$_POST进行。

您可以通过添加

来轻松验证这一点:
var_dump($_POST); 

无论何时你在测试这样的东西,这是一个很好的开始,了解什么是或不是与表单发布。

post方法根据表单动作属性中指定的页面向特定页面提交数据。如果您有两个独立的表单和一个提交按钮,那么提交按钮所关联的表单将交付给它的操作。但是,为了将一个表单中的数据值与为另一个表单调用的脚本关联起来,必须将它们合并到一个表单中。你仍然可以使用if语句,并根据$_POST['选定的单选按钮名称']的值调用不同的脚本。我不太明白为什么需要两个单独的表单来表示单选按钮和搜索栏。美观性可以很容易地用CSS处理,并且从一个输入发送到动作的数据不会干扰另一个输入,直到您创建一个函数来告诉它。除非您想让单选按钮在同一页面上更新搜索脚本,否则没有提交按钮。然后,这将涉及一些jquery ajax来更新您的代码的服务器端。您必须有一个函数来检测单选按钮选择中的用户端更改,并调用ajax脚本来更新搜索栏从中绘制的池。