在此代码中,它应该更改数量,但不会更改。它总是设置值'1'。
<?php
if(isset($_POST["quantity"]))
$quantity = settype($_POST["quantity"], "integer");
else
$quantity = 1;
$item_price = 5.99;
printf("%d x item = $%.2f",
$quantity, $quantity * $item_price);
?>
<FORM ACTION="buy.php" METHOD=POST>
Update quantity:
<INPUT NAME="quantity" SIZE=2
VALUE="<?php echo $quantity;?>">
<INPUT TYPE=SUBMIT VALUE="Change quantity">
</FORM>
</body>
</html>
答案 0 :(得分:2)
settype
用于设置变量的类型,它返回表示成功或失败的bool
值。您需要将$_POST
值分配给$quantity
(使用类型转换),请尝试以下操作:
if(isset($_POST["quantity"])) {
$quantity = (int)$_POST["quantity"];
} else {
$quantity = 1;
}
// or
$quantity = isset($_POST["quantity"]) ? (int)$_POST["quantity"] : 1;
答案 1 :(得分:0)
尝试
if(isset($_POST["quantity"]))
$quantity = intval($_POST["quantity"]);