#php
Вопрос:
Привет, я очень новичок в этом деле. Мой PHP-калькулятор ничего не возвращает, когда я нажимаю «Рассчитать», когда я загружаю этот файл на свой сайт 000webhost. У меня сейчас нет веб-сайта, но вот мой код.
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form method="get" action="#">
Enter the First Number <input type="text" name="number1"> <br><br>
Enter the Second Number <input type="text" name="number2"><br><br>
Choose the operation
Addition <input type="radio" name="op" value="add" checked>
Subtraction <input type="radio" name="op" value="sub">
Multiplication <input type="radio" name="op" value="mul">
Division<input type="radio" name="op" value="div"><br><br>
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
<?php
if ( $op == "add" ) {
echo "$number1 $number2 = ";
echo $number1 $number2;
}
if ( $op == "sub" ) {
echo "$number1 - $number2 = ";
echo $number1 - $number2;
}
if ( $op == "mul" ) {
echo "$number1 * $number2 = ";
echo $number1 * $number2;
}
if ( $op == "div" ) {
echo "$number1 / $number2 = ";
echo $number1 / $number2;
}
?>
<html>
Когда я нажимаю «Рассчитать», ничего не происходит, и ссылка получает знак вопроса. Пожалуйста, помогите.
Комментарии:
1. На самом деле вы никогда не используете какие-либо значения из формы. Я бы предложил учебник по основам. Кроме того, проверьте журнал ошибок вашего PHP, он должен быть заполнен предупреждениями и уведомлениями, которые могут указать вам правильный путь.
2.
$op
не определено. Любой учебник по формам PHP/HTML покажет вам, как правильно получить отправленные данные из формы. Что вы изучали до сих пор?3. В дополнение к проблемам, упомянутым другими, вы пытаетесь вывести данные после закрывающего html-тега. Кто знает, что браузеры с этим делают. Они вполне могут проигнорировать это.
Ответ №1:
Вам нужно использовать $_GET
для доступа к входному значению из запроса формы получения
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form method="get" >
Enter the First Number <input type="text" name="number1"> <br><br>
Enter the Second Number <input type="text" name="number2"><br><br>
Choose the operation
<br>
<input type="radio" name="op" value="add" checked>Addition<br>
<input type="radio" name="op" value="sub">Subtraction<br>
<input type="radio" name="op" value="mul">Multiplication<br>
<input type="radio" name="op" value="div">Division<br><br>
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
<?php
if (isset( $_GET['number1']) amp;amp; isset( $_GET['number2']) amp;amp; isset( $_GET['op'])) {
$number1 = $_GET['number1'];
$number2 = $_GET['number2'];
$op = $_GET['op'];
if ($op == "add") {
echo "$number1 $number2 = ";
echo $number1 $number2;
}
if ($op == "sub") {
echo "$number1 - $number2 = ";
echo $number1 - $number2;
}
if ($op == "mul") {
echo "$number1 * $number2 = ";
echo $number1 * $number2;
}
if ($op == "div") {
echo "$number1 / $number2 = ";
echo $number1 / $number2;
}
}
?>
<html>
Комментарии:
1. @ADyson спасибо, чувак, всем вам, ребята. Извините, если я вас раздражал, я не знаю ничего нового и все еще учусь.
2. @DeCode это нормально, мы все должны учиться. Мы постараемся помочь, чем сможем.
3. @ADyson как я могу отобразить сообщение об ошибке для нечислового ввода или ввода ничего (например, «вы должны ввести значение»). Будет ли при этом использоваться функция переключения?
4. @Расшифруйте, как я уже сказал, если у вас возникла новая проблема, отправьте новый вопрос (а не просто комментарий)