1

在这段代码中,它应该改变数量,但它没有改变。它总是设置值'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>
4

2 回答 2

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;
于 2012-07-21T10:53:20.360 回答
0

尝试

 if(isset($_POST["quantity"]))
      $quantity = intval($_POST["quantity"]);
于 2012-07-21T10:53:37.390 回答