<form method ="GET">
Форма:
<div> 1 число: <input type="text" name="num1" /> </div>
<div> 2 число : <input type= "text" name="num2" /> </div>
<input type="submit" value="Отправить">
</form>
$request = $_GET;
$names = ["num1"=> "1-число:", "num2"=> "2-число:"];
$default = ["num1"=> "По умолчанию", "num2"=> "По умолчанию"];
$equals = 0;
$counter = 0;
foreach($names as $key => $items){
if(isset($request[$key]) && is_numeric($request[$key]) && strlen($request["num1"]) && strlen($request["num2"]) ){
$equals = $request["num1"] * $request["num2"];
$default[$key] = htmlentities($request[$key]);
}
echo "$names[$key] $default[$key] <br>";
if(++$counter == count($names)){
echo "Равно: ".$equals;
}
}
if(isset($request[$key]) && is_integer(intval($request[$key])) ) {
if(isset($request[$key]) && is_numeric($request[$key]) ) {
if(is_numeric($request["num1"]) && is_numeric($request["num2"])){
if( is_numeric($request[$key]) ){
$names = ["num1"=> "1-число:", "num2"=> "2-число:"];
$default = ["num1"=> "По умолчанию", "num2"=> "По умолчанию"];
$equals = 0;
foreach($names as $key => $items){
if(isset($_GET[$key]) && is_integer($_GET[$key]) ){
$default[$key] = $_GET[$key];
}
echo "$items ".htmlentities($default[$key])."<br>\n";
}
$equals = $default["num1"] * $default["num2"];
echo "Равно: ".$equals."<br>\n";
$equals = $request["num1"] * $request["num2"];
Я пометил комментом строчку.
Я же умножаю один раз, когда условие будет верно.
Я не могу понять, почему идет умножение два раза =(