所以,我用PHP做了一个计算器,它会写结果以及使用计算器的时间。
第一次我收到一些错误,但当我点击任何提交按钮时,程序都能完美地工作如何处理首次出现的错误
程序:
<html>
<body>
<div>
<?php
$using_calculator = $_POST['using_calculator'];
if(isset($_POST['plus'])){
$x = $_POST['number_1'];
$y = $_POST['number_2'];
$z = $x+$y;
$using_calculator++;
}else if(isset($_POST['minus'])){
$x = $_POST['number_1'];
$y = $_POST['number_2'];
$z = $x-$y;
$using_calculator++;
}else if(isset($_POST['multiplication'])){
$x = $_POST['number_1'];
$y = $_POST['number_2'];
$z = $x*$y;
$using_calculator++;
}else if(isset($_POST['division'])){
$x = $_POST['number_1'];
$y = $_POST['number_2'];
$z = $x/$y;
$using_calculator++;
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
<p>
First number: <input type="number" name="number_1"><br/>
Second number: <input type="number" name="number_2"><br/><br/>
<input type = "submit" name="plus" value="Plus">
<input type = "submit" name="minus" value="Minus">
<input type = "submit" name="multiplication" value="Multiplicate">
<input type = "submit" name="division" value="Divide">
<input type = "hidden" name="using_calculator" value="<?php echo $using_calculator; ?>">
</p>
</form>
<br>Result: <?php echo $z; ?>
<br>The calculator was used <?php echo $using_calculator; ?> times
</div>
</body>
我必须使用隐藏的输入字段,但我可以使用函数和对象。那么什么是最好的方法呢?
这是因为第一时间变量(在php代码中)不是isset。所以它会显示错误。例如
$using_calculator=$_POST['using_calcalculator'];//第一次未设置$_POST['using_calculator']
因此php将第一次输出错误消息。提交后,这些变量将从POST中初始化。因此,为了避免这个问题,请修改php代码,如下所示
<?phpif(isset($_POST['using_calculator']){$using_calculator=$_POST['using_calcalculator'];if(isset($_POST['plus'])){$x=$_POST['number_1'];$y=$_POST['number_2'];$z=$x+$y;$using_calculator++;}否则if(isset($_POST['minus']){$x=$_POST['number_1'];$y=$_POST['number_2'];$z=$x-$y;$using_calculator++;}else if(isset($_POST['multiplication']){$x=$_POST['number_1'];$y=$_POST['number_2'];$z=$x*$y;$using_calculator++;}否则if(isset($_POST['division']){$x=$_POST['number_1'];$y=$_POST['number_2'];$z=$x/$y;$using_calculator++;}}?>