使用POST方法在2 phps之间传递变量

时间:2012-09-11 08:44:50

标签: php mysql html post html-table

我有一个代码,可以将数据从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>";
?> 

3 个答案:

答案 0 :(得分:5)

将您的表格代码更改为:

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

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

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

答案 1 :(得分: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>";

答案 2 :(得分:-1)

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

相关问题