使用PHP和HTML组合输入值,然后输出值

时间:2017-09-07 14:20:26

标签: php html

我是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需要将这些值用作变量并使用它们执行数学运算,然后我需要它将计算值输出到页面。在用户按下计算按钮之前,不应执行计算。

我还好奇是否有办法阻止用户添加值为负值的数字(最小值最大?)。我还想知道是否有办法从表单中的输入框中删除箭头。

感谢。

1 个答案:

答案 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]*$"

对于0以上的任何数字,

^[1-9][0-9]*$是正则表达式,但它不接受小数。

如果你可以使用箭头,那么你可以设置一个min属性来停止低于0的输入。
<input type="number" min="0"

注意:即使您要阻止用户输入值&gt; 0.恶意用户可能仍会向您的网页发送虚假$_POST值。如果你正在对$_POST/$_GET/$_REQUEST做任何敏感的话,你就不能相信它。