如果通过URL传递变量,如何自动POST表单

时间:2015-01-18 16:19:02

标签: php forms post

如果从URL传递zip变量,我希望表单自动发布。

网址如下:www.sitename.com/maps/zipsearch.php?zip = 90210

表格如下:

<form method="post">
    Zipcode:
    <input name="zip" value="<?php echo (isset($_GET["zip"]))? $_GET["zip"]:"";?>" />

    <input type="submit" name="subbut" value="Find instructors" />
</form>

所以它用邮政编码填充输入框但我希望它能自动发布以便在传递zip时再次查看结果。

也许是IF /那么?

任何帮助都将不胜感激。

4 个答案:

答案 0 :(得分:1)

您的意思是回显GET参数中传递的值吗?

<input type="submit" name="subbut" value="<?php echo isset($_GET['zip'])?$_GET['zip']:'Find'; ?>" />

修改

或者,如果您询问提交表单,那么我相信这样的事情可能有用:

<input type="submit" name="subbut" value="<?php echo isset($_GET['zip'])?$_GET['zip']:'Find'; ?>" />

<?php if( isset( $_GET['zip'] ) ) { ?>
<script>
  document.forms["name_of_the_form_here"].submit();
</script>
<?php } ?>

答案 1 :(得分:0)

像这样:

<form id="form" action="form.php" method="post">
Zipcode:
    <input name="zip" value="<?php echo (isset($_GET["zip"]))? $_GET["zip"]:"";?>" />       

    <input type="submit" name="subbut" value="Find instructors" />
</form>
<?php if (isset($_GET["zip"])): ?>
<script>document.getElementById('form').submit()</script>
<?php endif; ?>

答案 2 :(得分:0)

因为通过URL传递数据意味着GET方法,所以我认为你对你的问题有一点误解。

如果您想自动发布,则无需显示表单。

只需将此代码放入zipsearch.php

即可
if ($_GET['zip'] != ""){
// do what you want if zip parameter is not null
}else{
// do what you want if zip parameter is null
}

答案 3 :(得分:0)

看起来您的表单正在提交给自己。 (例如。zipsearch.php显示HTML表单。当用户提交表单时,它会回发到显示搜索结果的zipsearch.php

如果是这种情况,您不必发布任何内容,因为您已经在处理表单提交的文件中。你可以这样做:

<?php

  if (isset ($_POST['zip'])) {
    $zip = $_POST['zip'];             /* Form was submitted */
  } else if (isset ($_GET['zip'])) {
    $zip = $_GET['zip'];              /* "?zip=" parameter exists */
  }

  if (isset ($zip)) {
    /* Display search results */
  } else {
    /* Display form */
  }