我是PHP新手,刚开始学习它。我可能已经超过了我的头脑。我试图让用户以html形式输入买入价值和卖出价值,然后让php对这些值执行数学运算,最后输出数学运算所计算的值。
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<form action="" method="post">
Buy Price: <input type="number" name="buyprice" value="<?php echo
$buyprice;?>">
Sell Price: <input type="number" name="sellprice" value="<?php echo
$sellprice;?>">
<input type="submit" name="submit" value="Calculate" />
</form>
<?PHP
$buyprice = $_POST['buyprice'];
$sellprice = $_POST['sellprice'];
$tax = 0.95;
$profit = 0;
if (isset($_POST['submit'])) { //to check if the form was submitted
$profit = (($sellprice * $tax) - $buyprice);
print $profit;
}
?>
</body>
</html>
这是我的尝试,我会很感激如何完成我想做的任何提示或想法。基本上,用户在表单中输入两个值,php需要将这些值用作变量并使用它们执行数学运算,然后我需要它将计算值输出到页面。在用户按下计算按钮之前,不应执行计算。
我还好奇是否有办法阻止用户添加值为负值的数字(最小值最大?)。我还想知道是否有办法从表单中的输入框中删除箭头。
感谢。
答案 0 :(得分:1)
您的代码有效,您只是搞砸了PHP的放置位置。
<?PHP
$buyprice = $_POST['buyprice'];
$sellprice = $_POST['sellprice'];
$tax = 0.95;
$profit = 0;
if (isset($_POST['submit'])) { //to check if the form was submitted
$profit = (($sellprice * $tax) - $buyprice);
print $profit;
}
?>
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<form action="" method="post">
Buy Price: <input type="number" name="buyprice" value="<?php echo
$buyprice;?>">
Sell Price: <input type="number" name="sellprice" value="<?php echo
$sellprice;?>">
<input type="submit" name="submit" value="Calculate" />
</form>
</body>
</html>
要删除右侧的箭头,您可以将<input type="number"
替换为<input type="textbox"
。
要阻止用户输入负数,您可以使用pattern
元素。
<input type="textbox" pattern="^[1-9][0-9]*$"
^[1-9][0-9]*$
是正则表达式,但它不接受小数。
如果你可以使用箭头,那么你可以设置一个min属性来停止低于0的输入。
<input type="number" min="0"
注意:即使您要阻止用户输入值&gt; 0.恶意用户可能仍会向您的网页发送虚假$_POST
值。如果你正在对$_POST/$_GET/$_REQUEST
做任何敏感的话,你就不能相信它。