【发布时间】:2014-02-18 16:45:35
【问题描述】:
我制作了一个产品列表(22 项),并在其中一列中添加了一个文本框,以便用户可以添加他想要的数量。一旦按下提交,我想在一个空表中写入 ProductID 、价格和数量。问题是 $_POST 和 $_GET 都没有得到这些数据。
当我使用 $_GET 时,我在 URL 中注意到数据已被获取,但是当我尝试将其写入数据库或回显它时,什么都没有出现,我收到错误:注意:未定义索引: 数量
这是产品页面:
<?php
require ("connect.php");
session_start();
$userid = $_SESSION['codcliente'];
$username = $_SESSION['username'];
echo"<html>
<body>
<h1>Catalogo Prodotti</h1>
Sei loggato con l'account <b>".strtoupper($username)."</b>.<a href=\"Logout.php\">Clicca qui</a> per fare il LOGOUT!<br/><br/>
<form action=ordine.php method='POST'>
<input type='submit' name ='submit' value='Inserisci'>
</form>";
echo "<table border=1 align=center>
<tr>
<td align=center><b>CodProdotto</b></td>
<td align=center><b>Nome</b></td>
<td align=center><b>Prezzo Unitario</b></td>
<td align=center><b>Quantità</b></td>
</tr>";
$query = "SELECT CodProdotto,Nome,Prezzo FROM Prodotto";
$result = mysql_query($query) or die(mysql_error());
do{
$row= mysql_fetch_array($result) or die(mysql_error());
$codprodotto = $row['CodProdotto'];
$nome = $row['Nome'];
$prezzo = $row['Prezzo'];
echo "<tr>
<td align=center>$codprodotto</td>
<td align=center>$nome</td>
<td align=center>$prezzo €</td>
<td><p ><input type='text' name='Quantità' style=width:80px ></p></td>
</tr>";
}while($row != NULL);
echo "</table>";
mysql_close();
?>
</body>
</html>
这是形式:
<?php
require ("connect.php");
session_start();
$userid = $_SESSION['codcliente'];
$username = $_SESSION['username'];
echo"<html>
<body>
<h1>Ordine</h1>
Sei loggato con l'account <b>".strtoupper($username)."</b>.<a href=\"Logout.php\">Clicca qui</a> per fare il LOGOUT!<br/><br/>";
$query= "SELECT CodProdotto,Prezzo FROM prodotto";
$result = mysql_query($query) or die(mysql_error());
echo "<form action='Consegna.php'>
<p><input type='submit' Value='Inserisci dati consegna'></p>
</form>";
//$n = 0;
if($_SERVER['REQUEST_METHOD'] == 'POST'){
do {
$row = mysql_fetch_array($result) or die(mysql_error());
if ($row != NULL) {
$codprodotto = $row["CodProdotto"];
$prezzo = $row["Prezzo"];
$quantita = $_POST["Quantità"];
$query="INSERT INTO ordineprodotto(CodProdotto,Prezzo,Quantita) VALUES('$codprodotto','$prezzo','$quantita')";
$risultato= mysql_query($query) or die(mysql_error());
echo mysql_error();
}
}while ($row!=NULL);
}
echo "</body>";
echo "</html>";
?>
自 3 天以来,我一直被这个问题困扰,我不知道如何解决它。非常感谢任何帮助!
【问题讨论】:
-
您的表单仅以提交按钮结束。因此其中没有 HTML 元素,因此没有任何效果!
-
<input>元素必须介于<form>和</form>之间。 -
只是好奇,你为什么要回显所有的 HTML,你应该把它留在 PHP 标记之外。你的代码一团糟
-
@Barmar 这就是问题所在!!现在它正在获取数据,即使它正在写入相同数量的所有行(我在最后一个文本框中插入的值)
-
@AkhilSidharth 呵呵,是的,我知道这只是我是新手,还在学习。任何修复它的建议都非常受欢迎! :)