php发布表单到另一个php

时间:2010-05-16 06:07:48

标签: php

我想将一个搜索值从index.php发布到search.php,

的index.php

<form action="search.php?val=" method="post">

和search.php

<?php echo $_GET['val']?>

<?php echo $_POST['val']?>

我想在URL中保留'val'值,但是search.php无法捕获'val'的值,它似乎是“val =”。

3 个答案:

答案 0 :(得分:1)

在索引文件的表单内创建一个名为val的文本字段,例如:

<form action="search.php" method="post">
  <input type="text" name="val" value="search string" />
  <!-- more form stuff -->
</form>

你现在可以得到它:

<?php echo $_POST['val']?>

但是,如果您想在网址中使用该值,则应将表单的方法修改为get,如:

<form action="search.php" method="get">
  <input type="text" name="val" value="search string" />
  <!-- more form stuff -->
</form>

然后你可以在搜索页面上获得它的价值,如:

<?php echo $_GET['val']?>

或者,您可以直接在action的{​​{1}}属性中指定搜索字符串,在这种情况下,您不需要form字段:

val

然后你可以在搜索页面上获得它的价值,如:

<form action="search.php?val=<?php echo $search_string;?>" method="get">
  <!-- more form stuff -->
</form>

答案 1 :(得分:1)

您希望实现的目标可以描述为URL参数传递或query string。我们的想法是您可以通过URL传递值,由?variable=value表示。 URL参数传递的重要部分是使用$_GET检索值。

因此,请更改此行代码,

<form action="search.php?val=" method="post">

到这行代码,

<form action="search.php" method="get">

您不需要添加action以包含?val,只要您的name属性为{{1}的输入字段,PHP就会为您执行此操作}}

val

提交后,您应该拥有类似的网址

<form action="search.php" method="get">
<input type="text" name="val"/>
<input type="submit" />
</form>

您可以使用http://www.example.com/search.php?val=your_text_here 超全局访问search.php内部的$_GET

<?php
echo $_GET['val'];
?>

答案 2 :(得分:0)

您可以同时使用两者。如果您有&lt; form action =“search.php?val = ...”&gt;, 然后你可以像$ _GET [“val”]一样访问它。任何其他表单元素 但是会以$ _POST []显示你的例子。

顺便说一句,如果参数可能由不同的提交 表格,使用$ _REQUEST。它捕获GET和POST内容。