PHP не загружается после HTML-формы

HTML в этой форме загружается в браузере, но когда я заполняю форму и отправляю php не загружается, отображается только пустая страница.

Я попытался разделить файлы на HTML и PHP-файл, но это не сработало.

<!DOCTYPE html>
<head><title>Calculator</title></head>
<body><form action="calculator.php" method="POST">
<p>
<label for="firstnumber">First Number</label>
<input type="text" name="firstnumber" id="firstnumber" />
</p>
<p>
<label for="second number">Second Number:</label>
<input type="text" name="secondnumber" id="secondnumber" />
</p>

<p>
<input type="radio" name="Operation" value="Add" id="addinput" /> <label for="addinput">Add</label>
<input type="radio" name="Operation" value="Sub" id="subinput" /> <label for="subinput">Sub</label>
<input type="radio" name="Operation" value="Mult" id="multinput" /> <label for="multinput">Mult</label>
<input type="radio" name="Operation" value="Div" id="divinput" /> <label for="divinput">Div</label>
</p>
<p>
<input type="submit" value="=" />
<input type="reset" />
</p>
</form><?php

$Operation = $_POST['Operation'];
$x = $_POST["firstnumber"];
$y = $_POST["secondnumber"];

if($Operation == "Add"){
echo ($x + $y);
}

if($Operation == "Sub"){
echo ($x - $y);
}

if($Operation == "Mult"){
echo ($x * $y);
}

if($Operation == "Div"){
if ($y==0){
echo "error-cannot divide by zero";
}
else echo = ($x / $y);
}

?>

</body>
</html>

0

Решение

else echo = ($x / $y);

Знак равенства не должно быть там. убери это.

else echo ($x / $y);

Эта синтаксическая ошибка не позволяла вашей странице отображаться.

2

Другие решения

Скорее всего, в вашей установке PHP отключены отчеты об ошибках.
Вот несколько ответов о том, как его включить: Как получить полезные сообщения об ошибках в PHP?

Если вы включите сообщения об ошибках вместо пустой страницы, вы увидите Ошибка синтаксиса сообщение из-за ненужного = подпишите следующую строку:

else echo = ($x / $y);
1

Оберните все это в if($_POST) Вот так:

if($_POST) {
$Operation = $_POST['Operation'];
$x = $_POST["firstnumber"];
$y = $_POST["secondnumber"];

if($Operation == "Add"){
echo ($x + $y);
}

if($Operation == "Sub"){
echo ($x - $y);
}

if($Operation == "Mult"){
echo ($x * $y);
}

if($Operation == "Div"){
if ($y==0){
echo "error-cannot divide by zero";
}
}
else echo ($x / $y);
}
}

Таким образом, код выполняется только после публикации формы. Это также должно помочь вам в дальнейшем. Также подумайте о том, чтобы избежать пользовательского ввода. Так что-то вроде: mysqli_real_escape_string($connection, $_POST['Operation']); Кроме того, вы можете использовать trim() а также strip_tags(),
Некоторые ссылки:

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector