【问题标题】:Add a second variable to variable generated when submitting a form in PHP将第二个变量添加到在 PHP 中提交表单时生成的变量
【发布时间】:2016-07-12 17:16:06
【问题描述】:

我对 StackOverflow 进行了一些研究,但找不到解决问题的方法。

我有一个带有输入的表单,当提交车辆登记号时,它会在同一页面上为我提供车辆信息。我开始工作了。

提交后,我的 URL 将如下所示: site.com/admin.php?asset_reg_no=CN1001

但我遇到的问题是我使用了页面挂钩。这意味着我使用静态页面 (admin.php) 来显示我的网站,并且页面的内容会根据 url 中的页面名称进行更新,例如admin.php?page=search 或 admin.php?page=reports.

我想在提交网络表单时添加 2 个变量。在步骤过程中看起来像这样:

  1. 打开页面:site.com?page=search
  2. 表单提交后:site.com?page=search&asset_reg_no=CN1001

这是我当前的 PHP 页面:

$results_searchResults = "-1";
if (isset($_GET['asset_reg_no'])) {
  $results_searchResults = $_GET['asset_reg_no'];
}

// Database query
$query_searchResults = sprintf("SELECT ft_asset_make.make_desc, ft_asset_type.type_name, ft_asset.* FROM ft_asset INNER JOIN ft_asset_make ON ft_asset.make_ID = ft_asset_make.ID INNER JOIN ft_asset_type ON ft_asset.asset_type_ID = ft_asset_type.ID WHERE asset_reg_No = %s", GetSQLValueString($results_searchResults, "text"));

$searchResults = mysql_query($query_searchResults, $ft_connect) or die(mysql_error());

$row_searchResults = mysql_fetch_assoc($searchResults);
$totalRows_searchResults = mysql_num_rows($searchResults);

【问题讨论】:

  • 隐藏输入值来自$_GET['asset_reg_no']...
  • (或者如果我误解了,有一个隐藏的输入与其他值 - 但想法保持不变)
  • 发布表单的HTML代码。

标签: php mysql forms


【解决方案1】:

尝试在您的搜索表单标签中添加此内容

<input type="hidden" name="page" value="search">

或者,您可以更改表单操作值,但这会变得很奇怪并且可能根本不起作用。

【讨论】:

【解决方案2】:

检查当前钩子并在表单中传递一个隐藏变量。 例如:

    if(isset($_GET['page'])){
     echo "<input type='hidden' name='page' value='".$_GET['page']."' />";
    }

【讨论】:

    【解决方案3】:

    在您的 SQL 查询之后,您可以返回带有 header 的静态页面,包括您想要的参数:

    <?php
    // SQL QUERIES HERE.
    header( "Location: site.com?page=search&asset_reg_no=CN1001" ); // NOTICE DE PARAMETERS.
    ?>
    

    这是我们想象中的静态页面:

    <?php
    if ( isset( $_GET[ "page" ] ) )
         echo "Page = " . $_GET[ "page" ];
    else echo "No page";
    
    echo "<br/>";
    
    if ( isset( $_GET[ "asset_reg_no" ] ) )
         echo "Data = " . $_GET[ "asset_reg_no" ];
    else echo "No data";
    ?>
    

    【讨论】:

      猜你喜欢
      • 2014-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-04
      • 1970-01-01
      • 2013-07-04
      • 1970-01-01
      • 2013-03-18
      相关资源
      最近更新 更多