我制作了产品清单(22项),在其中一列中我添加了一个文本框,以便用户可以添加他想要的数量。一旦按下提交,我想在空表中写入ProductID,价格和数量。问题是$ _POST和$ _GET都没有获得这些数据。
当我使用$ _GET时,我在网址中注意到数据已经被捕获,但是当我尝试在数据库上写入或回显它时,没有出现任何问题,我得到错误:注意:未定义的索引:Quantità
这是产品页面:
<?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天开始就遇到了这个问题,我无法弄清楚如何修复它。非常感谢任何帮助!
答案 0 :(得分:0)
在输入字段之前关闭form
。
将<input type='submit' name ='submit' value='Inserisci'>
</form>
放在</table>
。
答案 1 :(得分:0)
实际上,你的代码没有多大意义,所以我冒昧地修改它。我认为您正在尝试的是列出所有值以及Quantita的输入框。当你按下提交按钮Inserisci时,它应该输入数据到ordineprodotto。我想一个是形式&amp;另一个是插入页面。如果我是对的,请尝试以下代码
<?php
require ("connect.php");
session_start();
//$userid = $_SESSION['codcliente']; //Didnt find any use of this variable
$username = $_SESSION['username'];
$query = "SELECT CodProdotto,Nome,Prezzo FROM Prodotto";
$result = mysql_query($query) or die(mysql_error());
if($_REQUEST['submit']=="Inserisci"){
$CodProdotto_array=$_REQUEST['CodProdotto'];
$Nome_array=$_REQUEST['Nome'];
$Prezzo_array=$_REQUEST['Prezzo'];
$Quantita_array=$_REQUEST['Quantita'];
for($i=0;$i<count($CodProdotto_array);$i++){
$CodProdotto=mysql_real_escape_string($CodProdotto_array[$i]);
$Nome=mysql_real_escape_string($Nome_array[$i]);
$Prezzo=mysql_real_escape_string($Prezzo_array[$i]);
$Quantita=mysql_real_escape_string($Quantita_array[$i]);
$query2="INSERT INTO ordineprodotto(CodProdotto,Prezzo,Quantita) VALUES('".$CodProdotto."','".$Prezzo."','".$Quantita."')";
$result2 = mysql_query($query2);
}
}
?>
<html>
<body>
<h1>Catalogo Prodotti</h1>
Sei loggato con l'account <b><?php echo strtoupper($username);?></b>
<a href="Logout.php">Clicca qui</a>per fare il LOGOUT!<br/><br/>
<form action="" method="POST">
<input type="submit" name="submit" value="Inserisci">
<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>
<?php if(mysql_num_rows($result)>0){
while($row= mysql_fetch_array($result)){?>
<tr>
<input type="hidden" name="CodProdotto[]" value="<?php echo $row['CodProdotto'];?>">
<input type="hidden" name="Nome[]" value="<?php echo $row['Nome'];?>">
<input type="hidden" name="Prezzo[]" value="<?php echo $row['Prezzo'];?>">
<td align=center><?php echo $row['CodProdotto'];?></td>
<td align=center><?php echo $row['Nome']; ?></td>
<td align=center><?php echo $row['Prezzo']; ?> € </td>
<td><p ><input type="text" name="Quantita[]" style="width:80px"></p></td>
</tr>
<?php }
} else {?>
<tr>
<td colspan="4">No Values to Display</td>
</tr>
<?php } ?>
</table>
</form>
</body>
</html>