【问题标题】:passing a variable between the 2 phps with POST method使用 POST 方法在 2 个 phps 之间传递一个变量
【发布时间】:2012-09-11 16:53:26
【问题描述】:

我有一个代码可以将 mysql 表中的数据填充到 html 表中。我在每一行的末尾还有一个文本框和一个按钮。我想将行中的所有变量(包括文本框中的文本)发送到 update.php。无法以某种方式做到这一点。这是我正在尝试的代码。请帮忙。我可以通过 GET 方法发送它。但我想使用 POST。

<?php
require 'config.php';
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');
$query = "SELECT * FROM cust_info;";
$result = mysql_query($query) or die(mysql_error());

echo "</br>";
echo "<table border='1'>
<tr>
<th>Pop Code</th>
<th>Open_Date</th>
<th>Maturity_Date</th>
<th>Amount</th>
<th>Balance</th>
<th>Collection Amount</th>
</tr>";

while($row1 = mysql_fetch_array($result))
  {
  echo "<div class=\"addform\"><form method='post' action=\"update.php?upd=".$row1['pop_code']."\">\n";
  echo "<tr>";
  echo "<td>" . $row1['pop_code'] . "</td>";
  echo "<td>" . $row1['open_date'] . "</td>";
  echo "<td>" . $row1['mat_date'] . "</td>";
  echo "<td>" . $row1['depoamt'] . "</td>";
  echo "<td>" . $row1['balance'] . "</td>";
  echo "<td>" . "   <input type=\"text\" name=\"amount\"/>\n" . "</td>";
  echo "<td>" . "   <input type=\"image\" src=\"images/update.png\" alt=\"Update Row\" class=\"update\" title=\"Update Row\">\n" . "</td>";
  echo "</tr>";
  echo "</form></div>";
  }
echo "</table>";
?> 

【问题讨论】:

  • 您需要为每一行添加输入字段。

标签: php mysql html post html-table


【解决方案1】:

将您的表格代码更改为以下内容:

echo "<td><input type='hidden' name='pop_code' value='".$row1['pop_code']."'>" . $row1['pop_code'] . "</td>";

看起来您的代码实际上并未发送任何内容,只是将其显示在页面上。这将显示它并在提交表单时发送一个隐藏字段。

编辑:另一种方法是在循环之外的页面上放置一个表单,并让按钮运行一个 javascript 函数,将数据复制到表单并提交表单。可能你现在拥有它的方式更简单,但是像这样的 javascript 可以轻松地从用户/页面中获取其他信息,并通过单个表单将其发送到下一页。

【讨论】:

  • 您通过查询字符串变量upd 发送get 请求的ID。正如@Fluffeh 所说,将其作为隐藏元素添加到表单中,它将与表单的其余部分一起获得posted。
  • @MihaiIorga 是的,很高兴击败 you 做出改变,先生 SQL writer super typer :P +1 为你的 :)
  • @Fluffeh Dude,你在 2 分钟内就回答了:D
【解决方案2】:

您可以隐藏这些字段:

  echo "<td><input type='hidden' name='pop_code' value='" . $row1['pop_code'] . "' />" . $row1['pop_code'] . "</td>";
  echo "<td><input type='hidden' name='open_date' value='" . $row1['open_date'] . "' />" . $row1['open_date'] . "</td>";

【讨论】:

    【解决方案3】:

    您的 HTML 已损坏,&lt;table&gt; 仅允许将 &lt;thead&gt;&lt;tbody&gt;&lt;tfoot&gt;&lt;tr&gt; 作为直接子级,请先尝试修复此问题,因为这会导致您的浏览器自动关闭标签

    【讨论】:

      猜你喜欢
      • 2012-12-21
      • 1970-01-01
      • 2013-10-30
      • 2017-08-17
      • 1970-01-01
      • 1970-01-01
      • 2017-10-16
      • 1970-01-01
      • 2018-08-08
      相关资源
      最近更新 更多