$ _POST和$ _GET都没有工作

时间:2014-02-18 16:45:35

标签: php mysql post get

我制作了产品清单(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 &#x20ac</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天开始就遇到了这个问题,我无法弄清楚如何修复它。非常感谢任何帮助!

2 个答案:

答案 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']; ?> &#x20ac </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>