无法检索数字输入并将其分配给变量



我正在字符串中检索数字输入并将其存储在变量q中,但我似乎无法使用post方法访问它。

<?php 
$sql = "SELECT * FROM produit";
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_assoc($result)){
?>
<div class="prod<?php echo $row['ID_produit']?>">
<img src="images/<?php echo $row['image']?>" alt="image">
<h3><?php echo $row['nom_produit']?></h3>
<h3>Prix:<?php echo $row['prix']?>&euro;</h6>
<form action="" method="post">
<label name="qte">QTE:</label>
<input type="number" name="qte"><br><br>
<a href="panier.php?action=ajout&amp;
l=<?php echo $row['nom_produit']?>&amp;
q=<?php $_POST['qte']?>&amp;
p=<?php echo $row['prix']?>" 
onclick="window.open(this.href, '', 'toolbar=no, location=no, directories=no, status=yes, 
scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350'); return false;">
GOGOGO  </a>
</form>
</div>
<?php
}
?>
</div>

我也试过

<?php
if (isset($_POST['submit'])) {
$example = $_POST['qte'];
echo $example;
}
?>

此代码有几个问题。您试图通过$_POST变量在每个循环中引用qte,而您真正想要的只是从用户那里获取输入。为了稍微清理一下代码,使其更可读,我更改了大的<a href...标记,以触发一个函数,该函数将获取qte值,形成URL并打开窗口。请注意,我将productIDprix的值传递到函数中。我把它们放在引号里,以防它们是空白的。我还在qte input元素中添加了一个ID,这样我们就可以得到值。看一看,如果你需要澄清,请告诉我

<?php 
$sql = "SELECT * FROM produit";
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_assoc($result)){    
?>
<div class="prod<?php echo $row['ID_produit']?>">
<img src="images/<?php echo $row['image']?>" alt="image">
<h3><?php echo $row['nom_produit']?></h3>
<h3>Prix:<?php echo $row['prix']?>&euro;</h6>
<form action="" method="post" onsubmit="return false;">
<label for="qte">QTE:</label>
<input type="number" name="qte" id="qte_<?php echo $row['ID_produit']?>"><br><br>
<a href='javascript:void(0)' 
onclick='gogoLink("<?php echo $row['ID_produit']?>", "<?php echo $row['prix']?>")'>
GOGOGO  </a>
</form>
</div>
<?php
}
?>
// then outside the loop is the function 
<script>
function gogoLink(id, prix) {
let url ="panier.php?action=ajout"
url += "&l=" + id
url += "&q=" + document.getElementById("qte_"+id).value;
url += "&p=" + prix;
window.open(url, '', 'toolbar=no, location=no, directories=no, status=yes, 
scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350'); 
}
</script>

最新更新