PHP默认文本输入字段的值

时间:2012-07-21 10:51:09

标签: php default

在此代码中,它应该更改数量,但不会更改。它总是设置值'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>

2 个答案:

答案 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"]);